Необходимо игнорировать HostKeyMismatch при входе в систему с использованием Net :: SSH.start () - PullRequest
4 голосов
/ 27 августа 2010

:paranoid => false в Net :: SSH.start () не работает

Ответы [ 2 ]

6 голосов
/ 23 сентября 2011

Вы можете передать Null-верификатор вместо false: :paranoid => Net::SSH::Verifiers::Null.new.

Это, по сути, то, что вы должны получить при передаче false, но по некоторым причинам это не всегда работает.1005 * Обратите внимание, просто чтобы быть в явном виде.Это не игнорирует исключение HostKeyMismatch, скорее, оно даже не пытается проверить ключ хоста (исключение вообще не вызывается).

0 голосов
/ 20 декабря 2017

Просто чтобы добавить еще одну вещь к этому.

Вы также можете использовать 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#remember_host!-instance_method

...