SSh авторизация по ключу (другого пользователя)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

sptica
Сообщения: 126
ОС: Ubuntu

SSh авторизация по ключу

Сообщение sptica »

Здарвствуйте.

На клиенте есть пользователь petya, на сервере vasya и petya. Нужно скопировать на клиент по scp из под petya информацию, к которой на сервере имеет доступ vasya. Получается вот так:

Код: Выделить всё

scp vasya@server:/home/vasya/vasya.txt /home/petya


По паролю всё работает. Теперь создаю из-под petya на клиенте пару ключей без пароля и кладу открытый на сервер пользователю vasya:

Код: Выделить всё

ssh-keygen -b 2048 -t rsa
cat ~/.ssh/id_rsa.pub | ssh vasya@server 'cat - >> ~/.ssh/authorized_keys'


И не копирует по scp без пароля на клиент по первой команде. При этом если положить созданный открытый ключ пользователю petya на сервере:

Код: Выделить всё

cat ~/.ssh/id_rsa.pub | ssh petya@server 'cat - >> ~/.ssh/authorized_keys'

то копирует по первой команде не спрашивая пароля, т.е. ключи подхватились.

Залез на сервер в /home/vasya/.ssh/authorized_keys - инфа по ключу присутствует. Подскажите пожалуйста что я делаю не так и как надо настроить чтобы по первой команде scp копировал бы без пароля.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21520
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: SSh авторизация по ключу

Сообщение Bizdelnick »

А если добавить -i ~/.ssh/id_rsa?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: SSh авторизация по ключу

Сообщение SLEDopit »

sptica писал(а):
18.05.2012 13:51
cat ~/.ssh/id_rsa.pub | ssh vasya@server 'cat - >> ~/.ssh/authorized_keys'
Вместо сей странной конструкции уже давно изобрели ssh-copy-id.

Я запутался: vasya и petya находятся на одном сервере, и у одного ключ работает, а у другого - нет?

У ssh есть опция -v, которая позволит понять что не так. -v можно увеличить до -vvv, чтобы вывод был более подробным.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
sptica
Сообщения: 126
ОС: Ubuntu

Re: SSh авторизация по ключу

Сообщение sptica »

Bizdelnick писал(а):
18.05.2012 14:17
А если добавить -i ~/.ssh/id_rsa?

Вы имеете в виду вот так на клиенте из-под petya:

Код: Выделить всё

ssh vasya@server -i ~/.ssh/id_rsa


Если да, то не работает :(.
Спасибо сказали:
sptica
Сообщения: 126
ОС: Ubuntu

Re: SSh авторизация по ключу

Сообщение sptica »

SLEDopit писал(а):
18.05.2012 14:30
sptica писал(а):
18.05.2012 13:51
cat ~/.ssh/id_rsa.pub | ssh vasya@server 'cat - >> ~/.ssh/authorized_keys'
Вместо сей странной конструкции уже давно изобрели ssh-copy-id.

Я запутался: vasya и petya находятся на одном сервере, и у одного ключ работает, а у другого - нет?

У ssh есть опция -v, которая позволит понять что не так. -v можно увеличить до -vvv, чтобы вывод был более подробным.

Клиент - есть пользователь petya.
Сервер - есть пользователи petya и vasya.

Нужно с клиента с консоли petya войти по ключу (без пароля) под пользователем vasya на сервер. Т.е. ssh vasya@server - с паролем такая конструкция прекрасно работет, но делать я это хочу из кронтаба, а там пароль не введёшь без ухищрений. Вот не хочется ухищрений, хочется по ключу и без пароля, тем более что ssh позволяет это по дефолту. Ssh server из Петиной консоли работает по ключу без пароля.

ssh-copy-id не позволяет скопировать ключ в ~ другого пользователя. У меня ведь как раз вся замануха с тем чтобы авторизоваться под другого пользователя из кронтаба по ключу.

Подключился с логами. Если с клиента из-под petya заходить ssh server -vvv, то
...
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/petya/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279


Если с клиента из-под petya заходить ssh vasya@server -vvv, то:
...
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/petya/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password


Кстати, если посмотреть на сервере cat /home/vasya/.ssh/authorized_keys:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPgNQ26h9VPLJXM1iV3tBiaFN7b+aR15eHlTKph7ULdeRuTscF
hedQmB1QbjxWp560SH41H9eZTciuvSj+2d8mKViB50/Tw4Zz6hGxLuQ3P0XWSFeY4oYaNerpV/oLE9BsnR+dFA8xXPBxcdmc/ayezH4e0vbb1D6KTu5OSAF167meNPqknZcM+eD5p1dy+0mOI5L/MgvxCwh7q26Id/maZ+4vuLfGoScEe0w/WYMVz+wkEtvzsWzwyx6jM48BOoumlOvHpg9bDS4J2aSDpM+zhT9fkyy/Ncjtc8Gr0cYhTVQTwDrXTEbGdLBC5Sa5nixQ4esy5RSxP2JE1XIXy5M9 jf@alessh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRI/+PkPibb15kBUy/dyqrqgaYgNQjh99C9FaiSZsxxfpHaswPJkccbYg0gxdqDVKL4NB6pj6zdRgTBCAV0jjVe5NG/Ucd1O00wm3KzJS6pJz0bS0kRO0fbdDCP5MP/8A4bnIJTx1+pZKi6B34kt9xCtIPj7JKBM7wfuNYavCM0elCV54AMLHSRRIvSbTnOEKZq/euX1IIdXeVPE0ZD3ndwL5YzNt5rRot530bzmc4UJOqOVKTniqV2djf3IQf4/n2e26BCzvWSspCz/zp+EptC5ZRTqv4XEXIcbo9v/+QWtpk7/8Y5XrSKH2qOAQiMXUf/7Ghp0xtpah0ryIL0LSF petya@Alex


Вот на конце этот petya@Alex меня смущает. Пробовал менять на vasya@Alex - не помогло :). Пойду ещё ковыряться, мож упускаю чего. Буду признателен за помощь если у кого какие мысли ещё есть :).
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: SSh авторизация по ключу

Сообщение SLEDopit »

sptica писал(а):
21.05.2012 13:09
ssh-copy-id не позволяет скопировать ключ в ~ другого пользователя. У меня ведь как раз вся замануха с тем чтобы авторизоваться под другого пользователя из кронтаба по ключу.
о.О что?
там даже в мане написано
(man ssh-copy-id) писал(а):SYNOPSIS
ssh-copy-id [-i [identity_file]] [user@]machine

ps. А права на .ssh и ключи правильные?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
sptica
Сообщения: 126
ОС: Ubuntu

Re: SSh авторизация по ключу

Сообщение sptica »

SLEDopit писал(а):
21.05.2012 13:26
sptica писал(а):
21.05.2012 13:09
ssh-copy-id не позволяет скопировать ключ в ~ другого пользователя. У меня ведь как раз вся замануха с тем чтобы авторизоваться под другого пользователя из кронтаба по ключу.
о.О что?
там даже в мане написано
(man ssh-copy-id) писал(а):SYNOPSIS
ssh-copy-id [-i [identity_file]] [user@]machine

ps. А права на .ssh и ключи правильные?

Да, признаю был не прав. Удалил с сервера у обоих пользователей authorized_keys. И сделал на клиенте сначала:

Код: Выделить всё

ssh-copy-id -i /home/petya/.ssh/id_rsa.pub petya@server

Пустило без пароля. Потом:

Код: Выделить всё

ssh-copy-id -i /home/petya/.ssh/id_rsa.pub vasya@server

Опять то-же самое. Без пароля не пускает. Права на сервере ls -al /home/petya/.ssh:
drwx--S--- 2 petya petya 4096 мая 21 13:30 .
drwxrws--- 18 petya petya 4096 апр. 25 15:26 ..
-rw------- 1 petya petya 389 мая 21 13:30 authorized_keys

Права на сервере -al /home/vasya/.ssh:
drwx--S--- 2 vasya vasya 4096 мая 21 13:31 .
drwxrwsr-- 6 vasya vasya 4096 апр. 25 15:22 ..
-rw------- 1 vasya vasya 389 мая 21 13:31 authorized_keys

Вроде всё верно. Есть ещё идеи? :)
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: SSh авторизация по ключу

Сообщение sash-kan »

каталоги .ssh какие права несут?
я бы удалил ~/.ssh/ у вашего васи, да выполнил заново ssh-copy-id вася@сервер…

кстати, в логи sshd (и/или всякие там auth, audit и т.п.) вы, надо думать, не заглядывали? (уточняю — интересующий вас демон sshd работает на сервере, и логи, соответственно, находятся там же)·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: SSh авторизация по ключу

Сообщение SLEDopit »

sash-kan писал(а):
21.05.2012 21:50
каталоги .ssh какие права несут?
очевидно:
sptica писал(а):
21.05.2012 13:35
drwx--S--- 2 petya petya 4096 мая 21 13:30 .
sptica писал(а):
21.05.2012 13:35
drwx--S--- 2 vasya vasya 4096 мая 21 13:31 .
и это, судя по всему на сервере. и на домашней машине всё по идее в порядке, т.к. судя по приведённым логам запуска, всё это запускается на petya@client. И раз в одном случае всё срабатывает - значит проблемы с правами нету.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: SSh авторизация по ключу

Сообщение sash-kan »

SLEDopit писал(а):
21.05.2012 21:58
значит проблемы с правами нету
ну, место, где искать отголоски проблемы, я примерно обрисовал, остаётся ждать вестей с полей·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
sptica
Сообщения: 126
ОС: Ubuntu

Re: SSh авторизация по ключу

Сообщение sptica »

sash-kan писал(а):
21.05.2012 21:50
каталоги .ssh какие права несут?
я бы удалил ~/.ssh/ у вашего васи, да выполнил заново ssh-copy-id вася@сервер…

кстати, в логи sshd (и/или всякие там auth, audit и т.п.) вы, надо думать, не заглядывали? (уточняю — интересующий вас демон sshd работает на сервере, и логи, соответственно, находятся там же)·


Да, логи помогли, спасибо. Плохо что сам не додумался. Провёл на соседней машине эксперимент с ssh-copy-id для разных пользователей - заработало с пол-пинка. Полез в логи сервера, где не работает, а там:
Authentication refused: bad ownership or modes for directory /home/vasya


При этом права на сервере на Васю:
drwxrws--- 6 vasya vasya 4096 мая 22 17:28 vasya

Если сделать chmod g-w /home/vasya (нагуглил это), начинает заходить.

Не понимаю почему так. Ведь на Петю ходит и при g+w и не ругается:
drwxrws--- 18 petya petya 4096 мая 22 17:27 petya


Странно это как-то. Но права писать для группы в данном случае вообще не критичны, поэтому пусть будет g-w. Хотя и было бы интересно понять почему так. Есть мысли на этот счёт? Да, ОС - Ubuntu 12.04 LTS.
И спасибо!
Спасибо сказали: