萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 配置 SSH 金鑰實現 SCP 無密碼分發檔案

透過 SSH 金鑰認證實現多台伺服器間無密碼檔案分發

管理多台 Linux 伺服器時,每次 SCP 輸入密碼極度低效。利用 SSH 公開金鑰認證,即可實現自動化無密碼分發。

一、在每個節點生成 SSH 金鑰對

mkdir -p ~/.ssh
chmod 700 ~/.ssh
/usr/bin/ssh-keygen -t rsa

執行 ssh-keygen 時可直接按 Enter 跳過密碼設定,實現完全無密碼。

二、將公開金鑰分發至目標主機

在目標主機建立授權檔案:

touch ~/.ssh/authorized_keys

從分發主機推送公開金鑰:

ssh 192.168.1.20 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

說明: 192.168.1.20 為分發主機 IP。首次連線需輸入 yes 確認指紋並提供目標主機密碼。

三、設定權限(關鍵步驟)

chmod 600 ~/.ssh/authorized_keys

四、驗證無密碼登入

ssh 192.168.1.19 hostname

若輸出主機名稱(如 RS9),表示金鑰認證已生效。

五、撰寫 SCP 批量分發腳本

在分發主機建立 scp.sh:

scp -r /usr/local/adsit/webapps/preroll/WEB-INF/classes root@192.168.1.19:/home/adsit/
scp -r /usr/local/adsit/webapps/preroll/WEB-INF/classes root@192.168.1.10:/home/adsit/

執行 scp.sh 即可自動完成多主機檔案同步,無需重複輸入密碼。

補充安全提醒

  • 確保分發主機 ~/.ssh/id_rsa 私鑰權限為 600。
  • 若目標主機有多用戶,每個用戶的 ~/.ssh 與 authorized_keys 權限皆需正確設定。
copyright © 萬盛學電腦網 all rights reserved