воскресенье, 21 октября 2012 г.

SSH, аутентификация по ключу

2 машины: local и server (пользователь: admin)

Подключаемся к серверу:

Проверяем /etc/ssh/sshd_config
Protocol 2
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile    /home/admin/.ssh/authorized_keys
UsePAM yes

Устанавливал эти опции для увеличение скорости:
GSSAPIAuthentication no
GSSAPICleanupCredentials no

Создаём директорию: mkdir ~/.ssh/
Права: chmod 700 ~/.ssh/


Переключаемся на локальную машину:

Генерируем ключи:
ssh-keygen -t rsa / ключ без пароля

Копируем ключи на сервер:
ssh-copy-id -i id_rsa.pub admin@server
[вводим пароль]

публичный ключ будет скопирован на сервер в директорию ~/.ssh/ и будет назван authorized_keys, права на него обязательно должны быть 600.

на локальной машине, переходим в директорию ~/.ssh/ и выполняем команду: ssh-add !!!

Если при попытке подключиться всё еще спрашивается пароль, при подключении следует добавить опцию -o PreferredAuthentications=publickey или править /etc/ssh/ssh_config


Возникавшие ошибки:

agent admitted failure to sign using the key
 Не выполнил команду ssh-add

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
 Аналогично, не выполнил команду ssh-add

Cannot determine realm for numeric host address
 В sshd_config выключить это к херам:  GSSAPIAuthentication no и GSSAPICleanupCredentials no

Incorrect RSA1 identifier
норма, т.к. используем не RSA1 ключ, а RSA


Хорошая статья: http://www.opennet.ru/base/sec/ssh_pubkey_auth.txt.html


Уже 6 утра...

Комментариев нет:

Отправить комментарий