使用 rsync 同步的时候,可否指定 ssh 的端口号?

由于 ssh 跑在其他的端口,不管我怎么修改,rsync 始终跑 22 端口,有什么解决办法吗?

rsync -rvz --progress --remove-sent-files ./localpath root@remotehost:2345/remotepath

前提:ssh 端口无法修改

阅读 50.1k
5 个回答

@bachelor 的-p命令好像过时了?根据我查到的应该是用 --port
图片描述
而前台 -p 命令是-p, --perms preserve permissions的意思,而且你所引用的链接跟你用法也不一致

换一种思路:在 ~/.ssh/config 里面指定该Host的端口:

Host remotehost
  Port 2345
rsync -rvz -e 'ssh -p 2345' --progress --remove-sent-files ./localpath root@remotehost:/remotepath
新手上路,请多包涵

rsync -avz --delete tmp/ rsync://${USER}@${HOST}:${PORT}/${MODULE}/path

${MODULE}是远程服务器里/etc/rsyncd.conf中括号里的一个
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进