在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在ruby中使用Net::SSH.start,当输入的用户名或密码等出错,如果不做处理,会卡死,另外发现日志中会打印3次输入密码的提示,这里可以把交互给去了,另外捕捉异常。可以通过以下方式实现。
begin Net::SSH.start(ip,username,:password => password,:timeout => 10, :non_interactive=>true) do |ssh| # output = ssh.exec!("hostname") # puts output end rescue Timeout::Error @result = " Timed out" rescue Errno::EHOSTUNREACH @result = " Host unreachable" rescue Errno::ECONNREFUSED @result = " Connection refused" rescue Net::SSH::AuthenticationFailed @result = " Authentication failure" end (1)加入non_interactive=>true该参数可以去除交互。 (2)以下用于捕捉异常 rescue Timeout::Error @result = " Timed out" rescue Errno::EHOSTUNREACH @result = " Host unreachable" rescue Errno::ECONNREFUSED @result = " Connection refused" rescue Net::SSH::AuthenticationFailed @result = " Authentication failure" end
PS 下方是我个人订阅号,会一直更新各类技术文章,欢迎关注 :) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论