2012-08-29 52 views
2

我已經使用亞馬遜AWS服務器,他們給我一個公共密鑰的.pem文件,當我ssh中,所有我需要做的就是密碼:如何生成SSH密鑰登錄到服務器,而無需

ssh -i key.pem [email protected] 

我現在有自己的服務器,我試圖找出如何我可以用我的服務器做到這一點,所以我可以通過ssh自動到我的服務器的命令。

我想,我需要生成我的服務器上該密鑰並將其複製到我的客戶機。我如何生成此密鑰?

回答

3

在客戶機上,您希望從登錄,請運行ssh-keygen。對於快捷鍵,只需在所有問題上點擊輸入即可。這將在〜/ .ssh中創建一個密鑰對。具體來說,把〜/ .ssh/id_rsa是你的私鑰(記住這一個安全的),並把〜/ .ssh/id_rsa.pub是你的公鑰(好吧分配)。

您的公鑰(的〜/ .ssh/id_rsa.pub)複製到你想登錄的服務器(例如scp ~/.ssh/id_rsa.pub [email protected]:。在服務器上,運行cat id_rsa.pub >> .ssh/authorized_keys。爲了確保它具有正確的權限,您可以運行chmod 644 ~/.ssh/authorized_keys。此外,您現在可以刪除複製了id_rsa.pub文件。

就是它了!你應該有密碼的登錄從客戶端到服務器。你必須重複此過程,客戶端和服務器交換如果你想從服務器到客戶端密碼的登錄

注:

  1. 如果服務器上不存在〜/ .ssh目錄,創建它的最好方法是從服務器ssh到其他某臺機器(例如,客戶端)。這將確保它具有正確的權限。
  2. 如果你是偏執的人得到的客戶端訪問,您可以使用密碼保護密鑰(運行ssh-keygen當提示之一),但是這時你會在每次登錄時輸入的密碼。要解決這個問題是使用ssh-agent。