Необходимо игнорировать HostKeyMismatch при входе в систему с использованием Net::SSH.start()
:paranoid => false
в Net::SSH.start() вроде не работает
2 ответа
Вы можете передать Null-верификатор вместо false: :paranoid => Net::SSH::Verifiers::Null.new
,
По сути, это то, что вы должны получить, передавая false, но это не всегда работает по какой-то причине.
Пожалуйста, обратите внимание, просто чтобы быть явным. Это не игнорирует исключение HostKeyMismatch, а даже не пытается проверить ключ хоста (исключение вообще не вызывается).
Просто хочу добавить еще одну вещь к этому.
Вы также можете использовать remember_host
метод Net::SSH::HostKeyError
записать этот хост и ключ в файле известных хостов.
Пример:
begin
.
.
rescue Net::SSH::HostKeyError => e
e.remember_host!
retry
end
Источник: http://www.rubydoc.info/github/net-ssh/net-ssh/Net/SSH/HostKeyError