SSH с замазкой из сеанса 0 выдает предупреждение "Хост-ключ сервера не совпадает..."

У меня есть тестовый код, запущенный из TeamCity. Часть моего тестового кода требует ssh с замазкой. Этот код прекрасно работает в командной строке (сеанс 1), но когда я запускаю его из TeamCity (который является процессом и поэтому выполняется в сеансе 0), я получаю следующее предупреждение в моем журнале испытаний

Ключ хоста сервера не совпадает с ключом, который PuTTY кэшировал в реестре [snip] Если вы доверяете этому хосту, введите "y", чтобы добавить ключ в кэш PuTTY и продолжить соединение. Если вы хотите продолжить соединение только один раз, не добавляя ключ в кеш, введите "n". Если вы не доверяете этому хосту, нажмите Return, чтобы прервать соединение. Хранить ключ в кеше? (Г / л)

Так как это в сеансе 0, я не могу взаимодействовать и нажать "у". Я не могу понять, почему ключ, хранящийся в реестре, когда я нажимаю 'y' при первом запуске этого сеанса из сеанса 1, не останавливает предупреждение, появляющееся в сеансе 0.

Может кто-нибудь мне помочь? Благодарю.

1 ответ

Скорее всего, нет решения с PuTTY.

В OpenSSH у вас есть набор опций, позволяющий полностью избежать проверки ключа хоста, с недостатком снижения уровня безопасности.

На производных Unix это будет:

-o  StrictHostKeyChecking=no -o  UserKnownHostsFile=/dev/null

Я думаю, что в Windows второй вариант будет читать-o UserKnownHostsFile=NULL".

Одним из возможных "обходных путей" было бы вручную запустить putty на самом первом соединении, чтобы получить ключ хоста в хранимом кеше. Последующие вызовы не требуют взаимодействия, если только ключ хоста не изменится (обычно из-за переустановки системы или просто переустановки сервера SSH).

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