trzsz/trzsz-ssh

引入兼容 Warp 的软链接后,影响了 rsync 的运行

sankoshine opened this issue · 3 comments

创建软链接

sudo ln -sv $(which tssh) /usr/local/bin/ssh

使用 rsync 连接服务器进行文件传输后,报错

protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at /AppleInternal/Library/BuildRoots/ce725a5f-c761-11ee-a4ec-b6ef2fd8d87b/Library/Caches/com.apple.xbs/Sources/rsync/rsync/compat.c(61) [receiver=2.6.9]

删除软链文件即恢复正常

软链后,你试试 rsync -e /usr/bin/ssh ... 能不能正常运行?

软链后,你试试 rsync -e /usr/bin/ssh ... 能不能正常运行?

可以的。

因为 rsync 校验了 openssh 的版本,解决办法只能是指定 openssh 的全路径。
1、你可以执行 rsync 时 rsync -e /usr/bin/ssh ... 这样用。
2、可以建个 alias,如 alias rsync="rsync -e /usr/bin/ssh",但如果你建个 alias 后要再次指定 -e 选项时,就要类似这样 /usr/bin/rsync -e "/usr/bin/ssh -i xxx" ...