我的脚本需要ssh到远程服务器,然后它在远程服务器上运行一些shell命令。它能够连接并运行shell命令,但在尝试ssh之前这样做是一个很长的警告消息。
所以我尝试使用“silence_warnings”来压缩它,但看起来它正在抑制Net::SSH.start
行并打印救援阻止消息,即使我有正确的登录凭据。
@hostname = "SERVER_NAME"
@username = "user"
@password = "pass"
@cmd = "ls -alt"
begin
silence_warnings do
@ssh = Net::SSH.start(@hostname, @username, :password => @password)
end
puts "#{@ssh}"
res = @ssh.exec!(@cmd)
@ssh.close
puts res
rescue
puts "Unable to connect to #{@hostname} using #{@username}/#{@password}"
end
需要一些指导来解决这个问题。
感谢。