ruby on rails net ssh strickhostkeychecking=no

Привет, у меня есть соединение net:ssh в controller. Я мог бы динамически изменить host name при установлении соединения. Но когда он входит в систему в первый раз, оболочка может запросить разрешение на подключение или нет. Поскольку я подключаюсь к нему через Интернет, я не видел никаких всплывающих окон с вопросом. Поэтому я прочитал https://groups.google.com/group/comp.lang.tcl/browse_thread/thread/ca0cd6ec905eb702, и я хочу добавить "-oStrictHostKeyChecking=no" этот тег при подключении к хосту. Как мы знаем, ниже приведен стандартный формат net::ssh в rails.

     @HOST = 'hostname'
     @USER = 'username'
     @PASS = 'password'

     Net::SSH.start( @HOST, @USER, :password => @PASS ) do|ssh|

Куда мне передать этот дополнительный параметр "-oStrictHostKeyChecking=no" при установлении соединения?

я уже пробовал

@HOST = 'hostname -oStrictHostKeyChecking=no'

Но это не работает. Пожалуйста помоги


person user1455116    schedule 29.06.2012    source источник


Ответы (1)


Возможно, вы можете использовать start/rescue ruby, как показано ниже, который будет обрабатывать несоответствие ключа хоста, запоминая хост и повторяя попытку подключения.

begin
  Net::SSH.start(@host, @user, :password => @pass) do |ssh|
    ... #what ever you want to do
  end
rescue Net::SSH::HostKeyMismatch => e
  e.remember_host!
  retry
end
person Ashrith    schedule 27.05.2013