先在切換到ssh下的目錄
cd ~/.ssh
切換到ssh的目錄後,產生公鑰私鑰(RSA),輸入以下指令
ssh-keygen
在產生金鑰的過程中,會詢問一些問題,對於一般的使用者而言,全部都使用預設值(直接按下 Enter 鍵)即可。
Enter passphrase (empty for no passphrase):
指定金鑰保護密碼,如果有設定密碼的話,以後每次使用都要輸入密碼,除你需要非常高的安全性,否則就不用設定了,直接按下 Enter 鍵即可。
這裡會顯示金鑰的指紋(fingerprint)與 randomart,而產生的金鑰會有兩個檔案:
id_rsa.pub
:公開金鑰(public key),這是可以對外公開的金鑰,之後要將它放在遠端的 Linux 伺服器上作認證使用。id_rsa
:私密金鑰(private key),這是要保護好的金鑰,它等同於你的 Linux 密碼,放在自己的電腦中。它預設會將 ~/.ssh/id_rsa.pub 這個公開金鑰複製到伺服器上,若要指定使用的金鑰,可以使用 -i 參數:
ssh-copy-id -i ~/.ssh/id_rsa.pub USER@HOST
成功後連入這個Server就不用輸入密碼,下一步則是如何用一個簡單的名稱紀錄這個Server。
之後一樣在local端的~/.ssh
資料夾下,新增一個config檔案
touch config
並將你的USER@HOST打成下列形式:
Host nickname
HostName 123.123.123.123
Port 22100
User 12345678
IdentityFile ~/.ssh/id_rsa
大功告成啦!之後只要輸入ssh nickname
就可以不用輸入密碼並用好記的名稱登入Server了!