Linux 雙向 SSH 免密登錄


原理

雙向,顧名思義,雙方互通,此處的意思是多台 linux 兩兩免密登錄。雙向比單向多了些操作,單向只需把某一個linux的公鑰發送給其他linux即可,而雙向要實現集群中的每一台機器都保存其他所有機器的公鑰。

步驟

假設,你有兩台機器,ip分別為AB

總共分為三步:

  1. 生成公鑰
  2. 將A機器的公鑰拷貝至B機器
  3. 將B機器的公鑰拷貝至A機器

生成公鑰

如下命令生成公鑰,默認會在~/.ssh/下生成id_rsaid_rsa.pub。先檢查一下機器是否已有公鑰,如果沒有再執行:

ssh-keygen -t rsa

-t 指定算法
-f 指定生成秘鑰路徑
-N 指定密碼

拷貝公鑰

cd ~/.ssh
scp id_rsa.pub root@B:/root/.ssh/authorized_keys #此命令在A機器執行,目的將公鑰發送至B機器
scp id_rsa.pub root@A:/root/.ssh/authorized_keys #此命令在B機器執行,目的將公鑰發送至B機器

scp: 加密的方式在本地主機和遠程主機之間復制文件

參數:

  • 源文件:指定要復制的源文件。也可以是遠程地址
  • 目標文件:目標文件。格式為user@host:filename(文件名為目標文件的名稱)

驗證

ssh B #在A機器上,看是否免密登陸B
ssh A #在A機器上,看是否免密登陸B

如果發現設置免密登陸,還需要輸入密碼,那么檢查一下/root .ssh authorized_keys目錄和文件的權限。

chmod 600 authorized_keys 
chmod 700 .ssh

如果authorized_keys文件、$HOME/.ssh目錄 或 $HOME目錄讓本用戶之外的用戶有寫權限,那么sshd都會拒絕使用 ~/.ssh/authorized_keys 文件中的key來進行認證的。

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM