要實現 rsync 的免密傳輸(同步)文件,你需要設置 SSH 免密登錄。這樣,rsync 就可以在不需要輸入密碼的情況下通過 SSH 連接到遠程服務器并傳輸文件。以下是設置 SSH 免密登錄的步驟。
生成 SSH 密鑰對。在本地機器上生成 SSH 密鑰對(如果你還沒有的話):
ssh-keygen -t rsa
在提示時,你可以按回車接受默認的文件路徑,或者指定一個新的路徑。然后設置一個密碼保護你的密鑰(這對于安全性是一個好的實踐),或者留空以創建一個無密碼的密鑰。
復制公鑰到遠程服務器。將你的公鑰復制到遠程服務器的 ~/.ssh/authorized_keys 文件中:
ssh-copy-id user@remotehost
這里的 user 是你遠程服務器上的用戶名,remotehost 是遠程服務器的地址。如果你的 SSH 密鑰不是默認的 ~/.ssh/id_rsa,你可能需要指定私鑰的路徑。
測試免密登錄。測試你是否能無需密碼登錄到遠程服務器:
ssh user@remotehost
如果一切設置正確,你應該能夠無需輸入密碼就登錄到遠程服務器。
使用 rsync 進行同步?,F在你可以使用 rsync 進行文件同步,而不需要輸入密碼。以下是一些基本的 rsync 命令示例:
同步單個文件:
rsync -avz /path/to/local/file user@remotehost:/path/to/remote/directory
同步整個目錄:
rsync -avz /path/to/local/directory user@remotehost:/path/to/remote/directory
同步時排除某些文件或目錄:
rsync -avz --exclude 'pattern' /path/to/local/directory user@remotehost:/path/to/remote/directory
使用 --delete 選項同步并刪除遠程服務器上多余的文件:
rsync -avz --delete /path/to/local/directory user@remotehost:/path/to/remote/directory
使用 --progress 選項顯示傳輸進度:
rsync -avz --progress /path/to/local/directory user@remotehost:/path/to/remote/directory
確保替換 /path/to/local/directory 和 /path/to/remote/directory 為你的實際路徑,user 和 remotehost 為遠程服務器的實際用戶名和地址。
通過以上步驟,你可以實現 rsync 的免密傳輸(同步)文件。
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9129瀏覽量
85344 -
SSH
+關注
關注
0文章
189瀏覽量
16335
發布評論請先 登錄
相關推薦
評論