rsync + ssh 使用不同 port 執行

rsync + ssh 要同步某些資料, 如果是標準 ssh 的 22 port, 只需要下述指令即可, 但是若不同 port, 就得要再處理一下~

  • rsync -avz --bwlimit=3000 REMOTE_HOST:data_path . # 限制頻寬使用3M

註: 此環境於 Ubuntu、Debian Linux

rsync + ssh 使用不同 port 執行

rsync + ssh 使用不同 port 的話, 需要加上 -e "ssh -p port_number", ex: 假設遠端的 ssh 機器是用 1234 port, 指令會如下述:

  • rsync -e "ssh -p 1234" -avz --bwlimit=3000 REMOTE_HOST:data_path .

另一種使用 --rsh='ssh -pPORT_NUMBER', 如下述範例:

  • rsync --rsh='ssh -p1234' -avz --bwlimit=3000 REMOTE_HOST:data_path .

另外一個是透過 .ssh/config, 做 ssh 遠端機器的相關設定, 如下述範例:

  1. vim .ssh/config
    Host REMOTE_HOST # 這個可以寫簡寫, 但是下面 rsync 的REMOTE_HOST 需與此一致.
    HostName REMOTE_HOST
    User YOUR_USERNAME
    Port 1234
    IdentityFile /home/YOUR_USERNAME/.ssh/id_rsa # 如果有在寫, 沒有這行可跳過不寫
  2. rsync -avz --bwlimit=3000 REMOTE_HOST:data_path . # 這邊就可以直接 rsync 即可.

相關網頁

關於「Tsung」

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
分類: My_Note-Unix,標籤: , 。這篇內容的永久連結

在〈rsync + ssh 使用不同 port 執行〉中有 4 則留言

  1. sshsiung表示:

    也可以用 --rsh='ssh -p1234' 方式。

  2. 發現新大陸了, 原來.ssh/config可以對 不同的 hostname 做port的設定!!
    太感謝了!

Jason Chiang 柯姊 發表迴響 取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料