1. 使用密碼登入

密碼登入是SSH最常用的登入方式。其登入流程大緻如下:
1)用戶端 向 遠端伺服器 發起SSH請求,遠端伺服器 傳回RSA公鑰
2)用戶端 輸入賬号密碼使用RSA公鑰加密,并把密文傳輸到 遠端伺服器
3)遠端伺服器 使用RSA私鑰解密,并驗證賬号和密碼
4)登入成功後,用戶端 把RSA公鑰儲存到 ${HOME}/.ssh/known_hosts 檔案中
2. 無密碼登入
用戶端 無密碼登入到 遠端伺服器,其原理大緻如下:
1)用戶端 向 遠端伺服器 發起SSH請求,遠端伺服器 傳回一個随機字元串
2)用戶端 使用RSA私鑰加密随機字元串,并把密文傳輸到 遠端伺服器
3)遠端伺服器 使用 用戶端 提供的RSA公鑰,解密密文并驗證身份
配置步驟:
1)在 用戶端 生成RSA密鑰對
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
執行指令後,會在 ${HOME}/.ssh 目錄下生成 id_rsa(私鑰)和 id_rsa.pub(公鑰)兩個檔案
2)複制 用戶端 RSA公鑰到 遠端伺服器
# 方法一
# 把 用戶端 的 ${HOME}/.ssh/id_rsa 公鑰檔案,複制到 遠端伺服器 ${HOME}/.ssh 目錄
scp ${HOME}/.ssh/id_rsa '{使用者}@{遠端伺服器}':${HOME}/.ssh
# 登入 遠端伺服器,建立 ${HOME}/.ssh/authorized_keys 檔案(如果有就不用建立)
touch ${HOME}/.ssh/authorized_keys
# 修改檔案權限
chmod 0600 ${HOME}/.ssh/authorized_keys
# 把 用戶端 的RSA公鑰加入到authorized_keys(不要把檔案清空,隻加到檔案末尾)
cat ${HOME}/.ssh/id_rsa.pub >> ${HOME}/.ssh/authorized_keys
# 方法二
# 在 用戶端 上使用 ssh-copy-id 指令,把公鑰複制到 遠端伺服器
ssh-copy-id '{使用者}@{遠端伺服器}'
3)完成上面兩步後,在 用戶端 上就可以無密碼登入 遠端伺服器 了
4)用戶端 若需要無密碼登入多台 遠端伺服器,隻需要重複步驟2,把公鑰複制到相應的 遠端伺服器 即可。
版權聲明:本文為CSDN部落客「weixin_34185512」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34185512/article/details/91835744