1. 程式人生 > 其它 >ssh 免密碼登入 Linux

ssh 免密碼登入 Linux

建立金鑰對

ssh-keygen -t rsa -C "wenhsing.com" -f ~/.ssh/wenhsing

使用ssh-key-gen命令生成公鑰和私鑰。

-t 指定加密方式,這裡指定了使用RSA加密。

-C 表示給對應的金鑰新增類似註釋的內容,可以忽略,我個人習慣是加上的,因為金鑰太多了。 T_T

-f 指定該金鑰對存放的位置和檔案,預設是 ~/.ssh/id_rsa 大多數情況下是有很多金鑰對的,所以為了不重複,還是很有必要新增的。當然,如果你全部都用一個金鑰,那也可以忽略。

接下來,根據操作步驟提示進行操作即可。

如果你全部預設的話,那多敲幾次回車就好了。Good Job!

如果需要設定你的私鑰訪問密碼,在提示passphrase的時候輸入你的密碼,然後再輸入一次確認密碼即可。

執行成功後會新增兩個檔案,分別是之前指定的存放的私鑰檔案以及一個以`.pub‵結尾的公鑰檔案。

將公鑰新增到目標伺服器

  1. 通過ssh-copy-id命令新增公鑰

如果你的伺服器開啟了密碼登入,那麼可以使用這個方法一步到位新增好公鑰到伺服器:

ssh-copy-id -i wenhsing.pub [email protected]

然後輸入伺服器密碼,它會自動將公鑰內容寫入到伺服器的authorized_keys檔案中

  1. 上傳公鑰,然後登陸伺服器進行新增

當然,你可以通過將公鑰檔案上傳到伺服器,然後再將內容複製到authorized_keys檔案中,完成公鑰新增

上傳檔案

scp ~/.ssh/wenhsing.pub [email protected]:/home/wenhsing/

登入伺服器

ssh [email protected]

新增公鑰

cat ~/wenhsing.pub >> ~/.ssh/authorized_keys