Для доступа к удаленному SSH-серверу обычно используется метод PasswordAuthentication, который основан на комбинации имени пользователя и пароля. Такой подход подходит большинству пользователей, поскольку это распространенная техника аутентификации для SSH и других систем.
Однако бывают случаи, когда ручная аутентификация не является идеальной, и вход без пароля становится предпочтительным или даже необходимым. Это особенно актуально для системных администраторов, которые часто обращаются к SSH-серверам и выполняют автоматические команды на удаленных машинах. Для этого можно настроить и использовать аутентификацию с открытым ключом для автоматического входа на сервер SSH без ввода имени пользователя и пароля.
Вы можете автоматически входить на SSH-сервер без ввода имени пользователя и пароля, настроив и используя метод аутентификации с открытым ключом.
Шаги по включению беспарольного входа в SSH:
Откройте приложение терминала.
Сгенерируйте пару ключей SSH на локальном хосте, если вы этого еще не сделали.
1 | ssh-keygen |
Убедитесь, что для пары ключей не задана парольная фраза.
Убедитесь, что на удаленном SSH-сервере включена аутентификация PubkeyAuthentication.
1 | sudo grep PubkeyAuthentication /etc/ssh/sshd_config |
Аутентификация с открытым ключом обычно включена по умолчанию.
Если параметр закоментирован, как в примере выше, либо установлено no, необходимо открыть файл
1 | sudo nano /etc/ssh/sshd_config |
Изменяем параметр на
1 | PubkeyAuthentication yes |
Перенесите открытый ключ SSH с локального хоста на сервер SSH.
1 | ssh-copy-id user@remote-host |
Проверьте конфигурацию, войдя на удаленный сервер.
1 | ssh user@remote-host |