ruby on rails ssh connection而不提供密码

时间:2012-08-17 16:35:52

标签: ruby-on-rails ruby-on-rails-3 ssh

目前我正在我的代码中进行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

如果我错了,请纠正我

1 个答案:

答案 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 

现在它不再需要密码了。