我有這個功能,當我傳遞正確的用戶名和密碼時,以及當我故意傳遞錯誤的密碼時,我卡在Password:
提示符下。Net :: SSH卡住了密碼提示
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
任何想法,當我傳遞的密碼不正確時,只能吐出消息「無法連接」?
感謝
缺少密碼命令的雙引號。 –
不知道你的目標是「我怎麼只是吐出信息」。使用'non_interactive'設置並移除'rescue'塊(或縮小它),該方法應該引發'Net :: SSH :: AuthenticationFailed'異常。 –