gpt4 book ai didi

ruby - 如何使用 Ruby 测试 SSH 连接

转载 作者:太空宇宙 更新时间:2023-11-03 18:14:27 24 4
gpt4 key购买 nike

这就是我到目前为止所得到的。这很好用,问题是我无法为 ssh 登录输入密码,我需要共享 ssh key 才能正常工作:

  def ssh_conn(user, host, &block)
begin
ping_output = []
timeout(20) do
ping_output = IO.popen("ssh #{user}@#{host} 'echo \"success\"'", "w+")
end
ping = ping_output.readlines.join[/success/] ? true : false
rescue Timeout::Error
ping = false
rescue
ping = false
end
ping_output.close
if block_given? && ping
yield
end
return ping
end

这里的问题是:我怎样才能做类似的事情,但通过传递给方法的参数输入密码?最好在不安装任何“外部”gem 的情况下使用 ruby​​ 原生类/方法。

最佳答案

通过在 StackOverflow 中稍微搜索一下,我找到了 this thread我能够解决我的问题:

def ssh_try(user, host, pass)
puts "SSHing #{host} ..."
Net::SSH.start( host.to_s, user.to_s, :password => pass.to_s ) do |ssh|
puts ssh.exec!('date')
puts "Logging out..."
end
end

任何面临类似问题的人都可以尝试这个方法,非常适合在 ruby​​ 中测试/使用 ssh 连接。

关于ruby - 如何使用 Ruby 测试 SSH 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com