我正在尝试使用 rsync 将目录推送到服务器。此命令有什么问题?
你好,
我正在尝试将目录推送到运行 SSH 端口 2222 的计算机。见下文。我收到拒绝连接错误。有什么办法可以实现吗?
rsync --update -P -r -v -e ssh -p $2222 /home/pi/rsynctest[电子邮件保护]:/root/rsync测试/
维萨
平台:Debian 自定义
答案1
引用 ssh-with-port 作为单一参数像-e 'ssh -p 2222'
或-e "ssh -p 2222"
。你写的内容指定ssh
为选项的参数-e
,然后是-p
选项到 rsync(与 相同--perms
)后跟一个可能虚假的文件名,如果连接(和身份验证)成功,则会出现错误。
不要使用$2222
。这样就不会指定数字 2222;在单引号中,它会指定$2222
不是数字的实际字符串,在双引号中,它会扩展为 shell 的第二个位置参数,该参数可能是空字符串,后跟222
。
或者,正如手册页所述,你可以使用 ssh 配置文件(通常).ssh/ssh_config
自动指定端口(针对所有、一个或一些主机)。这也适用于您使用 ssh 执行的其他操作,例如,scp sftp
当然ssh
,这在这里可能是理想的。