Rsync利用SSH加密隧道同步文件,保障傳輸安全

請關注本頭條號,每天堅持更新原創乾貨技術文章。
如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

本文主要講解Linux系統中的Rsync如何利用SSH加密隧道同步文件。

在網絡系統之間傳輸或同步文件時,Linux和Unix用戶可以使用很多工具。

Rsync利用SSH加密隧道同步文件,保障傳輸安全

Rsync如何利用SSH加密隧道同步文件

最流行的數據傳輸協議是SSH和FTP。雖然FTP非常流行,但我總是更喜歡使用SSH,因為它是同步或傳輸文件的最安全的方式。

有一些專門的工具可以在SSH上傳輸文件,比如scp和sftp,但是沒有一個具有rsync提供的所有特性。rsync可以用於鏡像數據、增量備份、在系統之間同步和複製文件等等。

在本教程中,我們將解釋如何通過SSH使用rsync同步和複製文件。

2. Rsync加密同步文件前提條件

Rsync利用SSH加密隧道同步文件,保障傳輸安全

Rsync加密同步文件前提條件

  • SSH可以訪問遠程計算機。
  • 運行rsync命令的用戶和遠程SSH用戶必須具有讀取和寫入文件的適當權限。

rsync實用程序必須同時安裝在目標服務器系統和源服務器系統上。即Rsync有服務端和客戶端。
如果沒有安裝,可以使用發行版的包管理器安裝:

Ubuntu和Debian系統:

sudo apt install rsync

CentOS和Fedora系統:

sudo yum install rsync

3. 利用SSH加密隧道同步文件或傳輸流量

使用rsync,您可以利用SSH加密隧道將文件和目錄從遠程服務器傳輸到遠程服務器。

Rsync利用SSH加密隧道同步文件,保障傳輸安全

利用SSH加密隧道同步文件或傳輸流量

使用rsync傳輸文件的一般語法如下:

Local to Remote: rsync [OPTION]... -e ssh [SRC]... [USER@]HOST:DEST
Remote to Local: rsync [OPTION]... -e ssh [USER@]HOST:SRC... [DEST]

其中SRC是源目錄,DEST是目標目錄,USER是遠程SSH用戶名,HOST是遠程SSH主機或IP地址。

最新版本的rsync被配置為使用SSH作為默認遠程shell,因此可以省略-eSSH選項。

例如,要將一個文件/opt/file.zip從本地系統傳輸到IP為10.1.1.1的遠程系統的/var/www/目錄,您需要運行:

rsync -a /opt/file.zip [email protected]:/var/www/

-a選項代表存檔模式,它將遞歸地同步目錄、傳輸特殊和塊設備、保存符號鏈接、修改時間、組、所有權和權限。

如果您還沒有為遠程機器設置無密碼SSH登錄,系統將提示您輸入用戶密碼。
ssh免密碼登錄的教程可以參考這裡:

ssh免密碼登錄

如果文件存在於遠程服務器上,那麼它將被覆蓋。如果您想將文件保存在另一個名稱下,請指定新名稱:

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

要將數據從遠程傳輸到本地機器,使用遠程位置作為源,本地位置作為目標:
執行以下命令:

rsync -a [email protected]:/var/www/file.zip /opt/

在SSH上使用rsync傳輸目錄與傳輸文件相同。

重要的是要知道,rsync對後面帶有斜槓/的源目錄提供了不同的處理。當源目錄後面有一個斜槓時,rsync將只將源目錄的裡面的內容複製到目標目錄。當省略後面的斜槓時,源目錄將會被複制到目標目錄中。

例如,要將本地/opt/website/images/目錄傳輸到遠程機器上的/var/ww /images/目錄,您可以輸入:

rsync -a /home/zcwyou/images/ [email protected]:/var/www/images/

如果要同步本地和遠程目錄,請使用--delete選項。使用此選項時要小心,因為如果目標目錄中不存在源目錄中的文件,它將刪除這些文件。

rsync -a --delete /home/zcwyou/images/ [email protected]:/var/www/images/

如果遠程主機上的SSH監聽的端口不是默認的22,那麼使用-e選項指定端口。例如,如果SSH正在監聽端口1234,您將使用:

rsync -a -e "ssh -p 1234" /home/zcwyou/images/ [email protected]:/var/www/images/

當傳輸大量數據時,建議在屏幕會話中運行rsync命令,或者使用-P選項,告訴rsync在傳輸過程中顯示一個進度條,並保存部分傳輸的文件:

rsync -a -P /home/zcwyou/images/ [email protected]:/var/www/images/

4. 總結

Rsync利用SSH加密隧道同步文件,保障傳輸安全

總結如何在SSH加密隧道上的利用rsync工具來複制和同步文件和目錄


通過本文,我們已經學習瞭如何在SSH加密隧道上的利用rsync工具來複制和同步文件和目錄。

如果你有任何問題,請留下你的意見。

本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/rmxx/1424.html

點擊瞭解更多,快速查看更多的技術文章列表。


分享到:


相關文章: