SSH Passwordless

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

SSH без пароля

Взял с вики "Черновики", к сожалению сразу вставить ссылку забыл. Это просто копия чужой статьи, с небольшими дополнениями.

Генерация ключа

Создаём на "клиенте" пару ключей (публичный/частный), используя утилиту ssh-keygen:

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ns/.ssh/id_rsa):
Created directory '/home/ns/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ns/.ssh/id_rsa.
Your public key has been saved in /home/ns/.ssh/id_rsa.pub.
The key fingerprint is:
18:f7:a3:78:ec:9e:36:b4:95:c0:5a:36:c4:b6:88:8b ns@games.zunet.ru

Здесь мы используем опцию -t, чтобы указать на использование RSA для создания ключей. Ввод некоторого (произвольного) выражения в качестве passphrase настоятельно рекомендуется. После выполнения данной операции получаем два файла в поддиректории .ssh домашней директории: id_rsa и id_rsa.pub

Шаг 2. Копируем файл id_rsa.pub в директорию .ssh/ на "сервере" (напомним, так мы договорились называть удалённую машину, доступ по протоколу ssh к которой необходимо осуществлять без пароля), под именем authorized_keys2:

$ scp /home/ns/.ssh/id_rsa.pub ns@vps:/home/ns/.ssh/authorized_keys2
ns@vps's password:
id_rsa.pub                                    100%  227     0.2KB/s   00:00

Таким образом, мы указали демону sshd (программа-демон, выполняющая роль SSH-сервера) на "сервере", что для шифрования данных при соединении с нашим "клиентом" необходимо использовать указанный публичный ключ и, кроме того, данный ключ создан для протокола версии 2.
Часть настройки, касающаяся публичного ключа, можно считать завершённой. Теперь "сервер" не будет запрашивать пароль при попытке установления соединения по ssh с данной конкретной машины ("клиента") от данного пользователя (конечно же, в других случаях, пароль будет требоваться, как и должно быть).

Links

Обсуждения: