是否可以在sftp上使用rsync(没有ssh shell)?
通过ssh进行Rsync,每次都能很好地工作。 但是,尝试rsync到仅允许sftp登录但不允许ssh登录的主机,则会出现以下错误: rsync -av /源ssh user @ remotehost:/ target / 协议版本不匹配-您的外壳干净吗?(有关解释,请参见rsync手册页。)rsync错误:compat.c(171)[sender = 3.0.6]上的协议不兼容(代码2)。 这是rsync手册页中的相关部分: 此消息通常是由您的启动脚本或远程Shell工具在rsync用于其传输的流上产生不必要的垃圾引起的。诊断此问题的方法是像这样运行远程Shell: ssh remotehost /bin/true > out.dat 然后看看out.dat。如果一切正常,则out.dat应该是零长度的文件。如果从rsync收到上述错误,则可能会发现out.dat包含一些文本或数据。查看内容并尝试找出产生的内容。最常见的原因是配置错误的shell启动脚本(例如.cshrc或.profile)包含了非交互式登录的输出语句。 在我的系统上尝试此操作会在out.dat中产生以下内容: ssh-dummy-shell:不允许使用命令。 如我所料,主机不允许ssh登录。 以下链接显示可以通过使用带有sshfs的保险丝来完成此任务-但是它非常慢,并且不适合生产使用。 是否有可能使rsync sftp正常工作?