1

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

如果我错了,请纠正我

4

1 回答 1

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 

现在它不再需要密码了。

于 2012-08-17T21:00:52.090 回答