目前我正在我的代码中进行ssh连接,如下所示:
Net::SSH.start( @HOST, @USER, :password => @PASS ) do|ssh|
@result = ssh.exec!("ls")
end
现在我需要在不提供任何密码的情况下进行SSH连接。我没有找到确切的格式来启动ssh连接而不提供任何密码。
我已在主机的授权密钥列表中添加了SSH密钥。我记得当我浏览没有密码的ssh时,在网上某处看到了以下代码。
Net::SSH.start( @HOST, @USER) do|ssh|
@result = ssh.exec!("ls")
end
如果我错了,请纠正我
答案 0 :(得分:2)
您必须指向您的私钥,而不是公钥:
@USER = "me"
@KEYS = ["my private key here"]
@HOST = hostname
Net::SSH.start( @HOST, @USER, :key_data=>@KEYS, :keys_only=>TRUE ) do|ssh|
@result = ssh.exec!("ls")
end
现在它不再需要密码了。