我有这样的代码:
require 'rubygems'
require 'net/ssh'
hostname = '1.2.3.4'
username = 'user'
cmd = "ls -al"
ssh = Net::SSH.start(hostname, username)
res = ssh.exec!(cmd)
ssh.close
puts res
出现错误:
Authentication failed for user user@1.2.3.4 (Net::SSH::AuthenticationFailed)
如何找到问题?
答案 0 :(得分:0)
检查您的ssh密钥是否存在于远程和本地。对于Ruby代码,请参阅此链接
答案 1 :(得分:0)
我不熟悉你正在使用的ssh gem。但是,首先检查简单:
按照GitHub指南为您的操作系统设置ssh进行测试。
是否有一个远程服务器,IP地址1.2.3.4正在侦听ssh连接?
它正在侦听哪个端口?默认端口为22。
通过使用您在问题1之前使用的ssh客户端尝试在Ruby之外的两台计算机之间进行ssh连接来回答这些问题。
您可能会发现回答这些问题的问题。如果不这样做,请参阅gem的文档。我应该为我推荐的所有内容提供说明,但是我在移动设备上。