1. 程式人生 > >ssh-keygen 免密碼遠端連線

ssh-keygen 免密碼遠端連線

ssh除了使用密碼驗證外,還提供了一種公私金鑰的驗證方式。客戶端生成一個私鑰,並生成一個與之對應的公鑰,然後將公鑰上傳到伺服器上

1、本地機器建立公鑰

ssh-keygen -t rsa -C  'your email'

 

然後一路回車,生成你自己的金鑰

 

2、將公鑰複製到ssh伺服器

 

mkdir .ssh  #若.ssh目錄已存在,可省略此步

 

 

 

mac:將前一步驟生成的公鑰~/id_rsa.pub檔案,複製到ssh伺服器對應使用者下的~/.ssh/authorized_keys檔案,可以有多種方式,這裡只介紹常用的一種

 

brew install ssh-copy-id
ssh-copy-id [email protected]  #將username和hostname替換為你的ssh伺服器使用者名稱和IP
cat id_rsa.pub >> .ssh/authorized_keys  #將公鑰檔案id_rsa.pub檔案內容追加到authorized_keys檔案

 

 

通用:

 

 

scp ~/.ssh/id_rsa.pub [email protected]:~/ #將公鑰檔案複製至ssh伺服器
ssh 
[email protected]
#使用使用者名稱和密碼方式登入至ssh伺服器
 
cat id_rsa.pub >> .ssh/authorized_keys  #將公鑰檔案id_rsa.pub檔案內容追加到authorized_keys檔案

 

 

 

 

此時,已經可以用ssh [email protected] 登入了

 

3、使用ssh name登入

在本地客戶端

vim ~/.ssh/config

 

然後在終端輸入 i 開始插入如下內容:

Host                  name#自定義別名
HostName              hostname  #替換為你的ssh伺服器ip或domain
Port                  22 #ssh伺服器埠,預設為22
User                  root #ssh伺服器使用者名稱
IdentityFile          ~/.ssh/id_rsa #第一個步驟生成的公鑰檔案對應的私鑰檔案

 

按下ESC,然後依次輸入 :wq
儲存並退出

最終,我們只需要在終端輸入

 

ssh name