PDA

Показать полную графическую версию : Хочу получать ssh без пароля при помощи ключей


Artem-Samsung
08-06-2011, 17:34
Читаю руководство:
http://www.ibm.com/developerworks/ru/library/l-backup/index.html?S_TACT=105AGX99&S_CMP=GR01

Листинг 5. Добавление offsite.pub к списку авторизованных ключей
$ cat offsite.pub >> ./ssh/authorized_keys

но у меня нет файла authorized_keys

ssh$ ls
id_dsa id_dsa.pub known_hosts

Дело в том, что нет совсем файла authorized_keys
Я его создал, копипаснул туда ключ сгенерированный на внешнем сервере, но все равно не работает

ssh -v reserv@kxtp.kpi.ua
OpenSSH_5.5p1 Debian-4ubuntu5, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to kxtp.kpi.ua [77.47.129.69] port 22.
debug1: Connection established.
debug1: identity file /home/artem2/.ssh/id_rsa type -1
debug1: identity file /home/artem2/.ssh/id_rsa-cert type -1
debug1: identity file /home/artem2/.ssh/id_dsa type 2
debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: identity file /home/artem2/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-3ubuntu1
debug1: match: OpenSSH_5.1p1 Debian-3ubuntu1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'kxtp.kpi.ua' is known and matches the RSA host key.
debug1: Found key in /home/artem2/.ssh/known_hosts:5
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/artem2/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/artem2/.ssh/id_rsa
debug1: Next authentication method: password
reserv@kxtp.kpi.ua's password:

contoso.com
08-06-2011, 18:10
и что не работает? после ввода пароля что пишет?

vadblm
08-06-2011, 18:12
но у меня нет файла authorized_keys »
И не должно было быть, если до этого не использовали key-based аутентификацию.
Я его создал, копипаснул туда ключ сгенерированный на внешнем сервере, но все равно не работает »
Мда... Что-то куда-то копипастят... В трёх соснах заблудиться уметь это надо иметь талант.

Короче так, клиент назовём для простоты client, сервер - server. Вашего пользователя зовут user. Приглашение строки будет в примере ниже всё это отражать. Мои комментарии обозначены символом #.

user@client$ ssh-keygen -t dsa #спросят passphrase, оставить пустой (нажать два раза ентер), иначе вместо password будут спрашивать теперь passphrase ;)
user@client$ scp ~/.ssh/id_dsa.pub user@server:~
user@client$ ssh user@server
Password: #пока пользуемся парольным входом
user@server$ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys
user@server$ rm ~/id_dsa.pub
user@server$ chmod 400 ~/.ssh/authorized_keys
user@server$ exit
user@client$ ssh user@server
user@server$ #Оу! Оно пускает без пароля! Неужели это было так просто?

Если не работает, проверить на сервере, разрешена ли аутентификация по публичным ключам, sshd_config:

PubkeyAuthentication yes

contoso.com
08-06-2011, 19:13
мммм без перезапуска sshd пустит с новыми настройками аутентификации? посмотреть негде как там все по умолчанию настроено.

vadblm
08-06-2011, 19:44
без перезапуска sshd пустит с новыми настройками аутентификации? »
Если включеноPubkeyAuthentication yes »
, а оно, судя по debug1: Authentications that can continue: publickey,password »
включено, то всё ок. sshd перепускать не нужно.

El Scorpio
10-06-2011, 05:08
Листинг 5. Добавление offsite.pub к списку авторизованных ключей
Код:
$ cat offsite.pub >> ./ssh/authorized_keys
но у меня нет файла authorized_keys »
Команда >> добавляет вводимую информацию в конец файла. Если файла не было, то он будет создан




© OSzone.net 2001-2012