linux下各種集群搭建往往需要配置遠程免密登錄,本文主要描述了CentOs6.3系統下配置免密登錄的詳細過程。
ssh遠程登錄,兩種身份驗證:
- 用戶名+密碼
- 密鑰驗證
- 機器1生成密鑰對並將公鑰發給機器2,機器2將公鑰保存。
- 機器1要登錄機器2時,機器2生成隨機字符串並用機器1的公鑰加密后,發給機器1。
- 機器1用私鑰將其解密后發回給機器2,驗證成功后登錄
1、用戶名+密碼
如上圖所示,機器1要登錄到機器2
- ssh 機器2的ip(默認使用root用戶登錄,也可指定,如:ssh a@192.168.25.14 表示指定由a用戶登錄機器2)
- 詢問是否需要創建連接 yes
- 輸入機器2中root用戶的密碼即可登錄到機器2
- 輸入exit回到機器1
2、遠程免密登錄
- 輸入命令ssh-keygen
- 按三次回車,完成生成私鑰和公鑰
- 到/root/.ssh目錄下可看到剛剛那條命令生成的私鑰和公鑰
- 輸入ssh-copy-id 機器2的ip
- 再輸入機器2的密碼,即可將公鑰傳給機器2
- 機器2的/root/.ssh目錄下的authorized_keys文件保存着剛才機器1傳過來的公鑰(可用cat命令查看,並對比機器1上的公鑰,是一樣的)
- 機器1上直接輸入ssh 機器2的ip即可登錄機器2,不用再輸密碼,自此完成了遠程免密登錄的配置