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

Я хочу неинтерактивный первый доступ по ssh

Я хочу получить доступ к моему новому виртуальному серверу в облаке с помощью ssh из сценария установки, чтобы он не требовал взаимодействия с пользователем. Когда я использую простой

ssh -i keys.pem user@host.com

он говорит мне, что это новый хост, доверяю ли я ему? Поскольку я только что создаю это, я хочу доверять ему без лишних слов.

Тогда я использовал

-o UserKnownHostsFile = / dev / null -o StrictHostKeyChecking = нет

но это не устанавливает соединение, так что последующие запросы отправляются автоматически. Он не создает запись в known_hosts.

Как сделать так, чтобы ssh сначала подключался не интерактивно, а потом постоянно?

Также возможно заранее добавить ключи хоста к «известным хостам», чтобы не удивить ssh. Например.

ssh-keyscan example.com >>~/.ssh/known_hosts 

Это по-прежнему небрежно, поскольку вы безоговорочно доверяете ключам с первого раза. Но это обеспечивает немного лучшую безопасность, поскольку у вас есть эти ключи для проверки и получения предупреждения, когда они меняются при последующих попытках подключения, что может быть признаком вмешательства.

Вы пробовали просто использовать следующее?

$ ssh -o StrictHostKeyChecking=no -i keys.pem user@host.com

Я не вижу смысла иметь -o UserKnownHostsFile=/dev/null также; похоже, это просто предотвращает добавление ключа в ваш файл известных хостов.