ssh с замазкой из сеанса 0 выдает предупреждение «ключ хоста сервера не соответствует»

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

Ключ хоста сервера не совпадает с тем, который PuTTY кэшировал в реестре [фрагмент] Если вы доверяете этому хосту, введите «y», чтобы добавить ключ в кэш PuTTY и продолжить подключение. Если вы хотите продолжить подключение только один раз, не добавляя ключ в кеш, введите «n». Если вы не доверяете этому хосту, нажмите «Ввод», чтобы отказаться от соединения. Сохранить ключ в кеше? (г/н)

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

Может кто-нибудь помочь мне? Спасибо.


person AlexF    schedule 14.08.2013    source источник


Ответы (1)


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

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

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

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

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

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

person EnzoR    schedule 05.11.2013