SSH免密登入
概述
- 在叢集環境中,經常需要在不同機器之間進行跳轉,開啟免密登入可以提高效率,避免頻繁輸入密碼驗證。
- 此外,免密登入的環境也可以滿足透過指令碼遠端登入各個機器實現各種自動操作,如:一鍵啟動、一鍵安裝等。
- 免密登入的實現是基於SSH協議實現的。
原理
-
兩臺機器之間實現免密登入,可以將一臺機器當成客戶端,另一臺機器當成待免密登入的服務端。
-
如果需要雙向免密登入,則需要把免密配置在另一臺機器重複操作一遍即可,因為SSH預設是非對稱加密
配置
- 在node1執行命令,打通node1 --> node2
#實現node1----->node2
#step1 在node1生成公鑰私鑰
ssh-keygen 一頓回車 在當前使用者的home下生成公鑰私鑰 隱藏檔案
[root@node1 .ssh]# pwd
/root/.ssh
[root@node1 .ssh]# ll
total 12
-rw------- 1 root root 1675 May 20 11:59 id_rsa
-rw-r--r-- 1 root root 402 May 20 11:59 id_rsa.pub
-rw-r--r-- 1 root root 183 May 20 11:50 known_hosts
#step2
copy公鑰給node2
ssh-copy-id node2
注意第一次需要密碼
#step3
[root@node1 .ssh]# ssh node2
Last login: Thu May 20 12:03:30 2021 from node1.itcast.cn
[root@node2 ~]# exit
logout
Connection to node2 closed.
SCP遠端複製
概述
-
基於SSH協議可以實現同一叢集,跨機器間的檔案複製操作,這對於分散式軟體安裝、同步十分重要。
-
在配置SSH免密登入之後,SCP時就不需要在輸入密碼驗證了,效率更高。
#本地copy其他機器
scp itcast.txt root@node2:/root/ # 將相對路徑下的itcast.txt檔案複製到node2中的root目錄下
scp -r linux02/ root@node2:$PWD #copy資料夾 -r引數 $PWD copy至和本機相同當前路徑
#為什麼不需要輸入密碼
因為配置了機器之間的免密登入 如果沒有配置 scp的時候就需要輸入密碼
#copy其他機器檔案到本地
scp root@node2:/root/itcast.txt ./