Answers:
另一个选项,在运行rsync的主机中,在ssh配置文件中设置端口,即:
cat ~/.ssh/config
Host host
Port 2222
然后通过ssh的rsync将与端口2222通信:
rsync -rvz --progress --remove-sent-files ./dir user@host:/path
rsync
多次访问怪异端口的人来说,我不会称它为有史以来最可怕的事情,但是每次都散布到足以忘记语法的地方。
您的命令行应如下所示:
rsync -rvz -e 'ssh -p 2222' --progress ./dir user@host:/path
这可以正常工作-我一直在使用它,而无需任何新的防火墙规则-请注意SSH命令本身用引号引起来。
user@host:/path
当您需要通过特定的SSH端口发送文件时:
rsync -azP -e "ssh -p PORT_NUMBER" source destination
例
rsync -azP -e "ssh -p 2121" /path/to/files/source user@remoteip:/path/to/files/destination
使用“ rsh选项”。例如:
rsync -avz --rsh='ssh -p3382' root@remote_server_name:/opt/backups
请参阅:http : //www.linuxquestions.org/questions/linux-software-2/rsync-ssh-on-different-port-448112/
有点题外话,但可能会帮助某人。如果您需要传递密码和端口,我建议使用sshpass
软件包。命令行命令如下所示:
sshpass -p "password" rsync -avzh -e 'ssh -p PORT312' root@192.xx.xxx.xxx:/dir_on_host/
我在Mike Hike Hostetler的网站上找到了该解决方案,该解决方案非常适合我。
# rsync -avz -e "ssh -p $portNumber" user@remoteip:/path/to/files/ /local/path/
正确的语法是告诉Rsync使用自定义SSH命令(添加-p 2222),该命令使用SSH创建到远程端的安全隧道,然后通过localhost:873连接
rsync -rvz --progress-删除发送的文件-e“ ssh -p 2222” ./dir user @ host / path
Rsync在不安全的TCP端口873上作为守护程序运行。
从Rsync的人:
推送:rsync [OPTION ...] SRC ... [USER @] HOST:DEST
这会误导人们尝试:
rsync -rvz --progress-删除发送的文件./dir user @ host:2222 / path
但是,这指示它连接到端口2222上的Rsync守护程序,该端口不存在。