Net :: SSH卡在密码提示符下

时间:2016-03-27 22:08:03

标签: ruby-on-rails ruby

我有这个功能,当我传递正确的用户名和密码时它会起作用,当我故意传递错误的密码时,我会被Password:提示卡住。

def perform(sensor_params)
    @hostname = "10.0.10.100"
    @username = "root"
    @password = "root"

    @cmd = "id"

    begin
      ssh = Net::SSH.start(@hostname, @username, :password => @password)
      res = ssh.exec!(@cmd)
      ssh.close
      puts res
    rescue
      puts "Unable to connect to #{@hostname} using #{@username}/#{@password}"
    end
 end

当传递的密码不正确时,我怎么能吐出“无法连接”的消息?

谢谢

2 个答案:

答案 0 :(得分:4)

根据文档,您可以传递:non_interactive => true而不是引发身份验证错误。

答案 1 :(得分:1)

通过:number_of_password_prompts => 0解决了我的问题。