Вот ситуация: у меня 4 сервера Linux. /home
одинаково для всех четырех серверов. (Это сетевой диск). Я хочу настроить SSH без пароля через настройку ключей шифрования. Я создал пару ключей RSA, используя ssh-keygen
. Потому что /home
одинаково для всех пользователей. Поэтому я добавил открытый ключ к авторизованному ключу для каталога $HOME/.ssh
Но когда я пытаюсь подключиться к этим серверам по ssh, он все равно запрашивает пароль.
Помогите пожалуйста!
При вводе ssh hostname
SSH по умолчанию пытается выполнить аутентификацию на основе пароля. Поэтому вам нужно ввести в команду дополнительную опцию:
ssh -i .ssh/private-key-of-host hostname
После опции -i
должно быть имя файла вашего ключа. Теперь вы можете войти без ввода пароля.
Однако есть и другая возможность: у вас может быть файл конфигурации в .ssh/config
. Введите здесь:
Host Foo
HostName 123.45.67.89
IdentityFile ~/.ssh/private-key-of-host
Теперь вы можете ввести ssh Foo
, и SSH пытается подключиться к хосту, указанному в HostName
(может быть IP-адрес или имя хоста), с ключом из IdentityFile
.