新手问题 gem 'net-ssh' 调用 Net::SSH.start ('host', 'user', :password => "password") 方法时候 用户名或者密码错误情况下程序卡死

bajiudongfeng · 发布于 2015年9月13日 · 最后由 bajiudongfeng 回复于 2015年10月14日 · 751 次阅读
14935

如下:这是我的代码: 实际发现如果用户名或者密码错误的时候,程序会卡死. 看了一下源码如下: 按理用户名密码不对应该抛出异常才对啊. 然后在rails c 里边试了一下,发现如果用户名密码不对,会让你继续输入密码,如果三次全部错误才会报错. 那么这该如何解决呢? 谢谢!

共收到 3 条回复
Eda824

有个on_falure可以看一下。

http://net-ssh.github.io/ssh/v1/chapter-5.html

channel.on_failure do
  puts "shell could not be started!"
end
channel.on_data do |ch,data|
  puts "recieved #{data} from shell"
end
channel.on_close do
  puts "shell terminated"
end
15615

这个gem包我也在用,抽空鼓捣一下。

14935

#1楼 @ericguo 之前用了一种不太好的方式解决了问题,今天看gem 代码的时候发现ssh.rb文件中注释有个参数:number_of_password_prompts设置为0就ok了.然github上给的文档可能比较老,没有提到这个参数.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册