ssh-keygen 免密碼遠端連線
阿新 • • 發佈:2018-12-10
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