如下:这是我的代码: 实际发现如果用户名或者密码错误的时候,程序会卡死. 看了一下源码如下: 按理用户名密码不对应该抛出异常才对啊. 然后在 rails c 里边试了一下,发现如果用户名密码不对,会让你继续输入密码,如果三次全部错误才会报错. 那么这该如何解决呢? 谢谢!
有个 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
这个 gem 包我也在用,抽空鼓捣一下。
#1 楼 @ericguo 之前用了一种不太好的方式解决了问题,今天看 gem 代码的时候发现 ssh.rb 文件中注释有个参数:number_of_password_prompts 设置为0就 ok 了.然 github 上给的文档可能比较老,没有提到这个参数.