Назад | Перейти на главную страницу

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

Я написал несколько скриптов и хочу добавить удаленный хост к моему known_hosts файл без какого-либо взаимодействия. Я могу запустить такую ​​команду, как ssh -o "StrictHostKeyChecking no" root@10.x.x.x который добавит ключ удаленного хоста к моим известным хостам, но за ним последует запрос пароля ssh. Как это сделать без запроса пароля?

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

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

PasswordAuthentication no

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

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