Добавить удаленный хост в файл known_hosts без запроса

Я написал несколько сценариев и хочу добавить удаленный хост к моему known_hosts файл без какого-либо взаимодействия. Я могу запустить команду как ssh -o "StrictHostKeyChecking no" [email protected] который добавит ключ удаленного хоста к моим известным хостам, но за ним последует запрос пароля ssh. Любой способ сделать это без запроса пароля?

2 ответа

Решение

Как уже упоминалось в другом ответе, ssh-keyscan идеально, но если по какой-то причине вы не можете сделать это: вы можете отключить аутентификацию по паролю, либо установив опцию

PasswordAuthentication no

в файле конфигурации (например, .ssh/config) или передавая опцию -o PasswordAuthentication в командной строке, и, таким образом, запретить ssh запрашивать пароль. Само собой разумеется, сервер видит это как неудачную попытку входа в систему, если у вас не настроен другой метод аутентификации, который позволяет вам входить в систему.

Как вы уже заметили, изменение значения StrictHostKeyChecking вариант из askпо умолчанию no (или же yes если вы хотите повысить безопасность) необходимо избегать запроса о том, хотите ли вы добавить ключ хоста в .ssh/known_hosts,

Использование ssh-keyscan 10.x.x.x >> /path/to/known_hosts/file (используйте -H для лучшей безопасности, зависит от контекста).

Другие вопросы по тегам