2012-08-17 86 views
1

目前我做在我的代碼像這樣的SSH連接SSH連接:Ruby on Rails的不給密碼

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 

如果IAM錯

回答

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 

,現在它並不需要密碼了。

+0

謝謝!問題:你知道如何自動接受rsa主機密鑰嗎? (第一次登錄到Linux時,必須鍵入'yes'才能接受交換的主機密鑰) – 2017-08-09 15:05:46