使用rsync时可以指定不同的ssh端口吗?
我一直在尝试下面的命令:
rsync -rvz --progress --remove-sent-files ./dir user@host:2222/path
SSH在端口2222上运行,但rsync仍然尝试使用端口22,然后抱怨没有findpath,当然它不存在。
我想知道是否有可能rsync到一个非标准的SSH端口上的远程主机。
你的命令行应该是这样的:
rsync -rvz -e 'ssh -p 2222' --progress --remove-sent-files ./dir user@host:/path
这工作正常 – 我一直使用它,而不需要任何新的防火墙规则 – 只要注意SSH命令本身被引用引号。
另一种select,在运行rsync的主机上,在sshconfiguration文件中设置端口,即:
cat ~/.ssh/config Host host Port 2222
然后rsync通过ssh将会通过端口2222:
rsync -rvz --progress --remove-sent-files ./dir 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/
有点偏离主题,但可能有助于某人。 如果你需要传递密码和端口,我build议使用sshpass
包。 命令行命令如下所示: sshpass -p "password" rsync -avzh -e 'ssh -p PORT312' root@192.xx.xxx.xxx:/dir_on_host/
我在Mike Hike Hostetler的网站上find了这个解决scheme,这个解决scheme非常适合我。
# rsync -avz -e "ssh -p $portNumber" user@remoteip:/path/to/files/ /local/path/
谢谢Mike
我不能让rsync通过不同端口上的ssh进行连接,但我无法通过iptables将ssh连接redirect到我想要的计算机。 这不是我正在寻找的解决scheme,但它解决了我的问题。