Как подключиться по ssh без пароля?

Рейтинг: 5Ответов: 2Опубликовано: 27.06.2011

Всякий раз, когда я выполняю команду

ssh user@host

меня просят ввести пароль. Как избежать этого?

Ответы

▲ 8Принят

Это можно сделать, используя публичные ключи. На примере OpenSSH. Предположим, нужно войти с хоста X на хост Y. Заходим на хост X и создаем ключи:

ssh-keygen -t rsa

Далее заходим на хост Y и создаем папку ~/.ssh

ssh user@Y mkdir ~/.ssh

Копируем публичный ключ с хоста X на Y

cat ~/.ssh/id_rsa.pub | ssh user@Y 'cat >> .ssh/authorized_keys'

После этого по ssh можно входить с хоста X на Y без пароля.

Обновление

В комментариях @AntonioK рекомендует не использовать cat для копирования публичного ключа. Вместо этого следует воспользоваться специальной утилитой ssh-copy-id, которая, помимо прочего, заботится о верном уровне доступа к ключам.

▲ 2

генерируем ключ на хосте X

ssh-keygen -t rsa

затем набираем

ssh-copy-id user@Y

удаленный хост вместо Y