我有一个脚本,我们内部使用它来跟踪客户端名称、主机名和SSH端口号。它生活在/etc/clients.ssh中。
我的脚本"connect“(符号链接"c")接受一个参数$1,即客户端名称。然后,它使用端口号在主机名上向客户端打开SSH会话。"C“也可以使用"-l用户名”作为远程用户名。
我想把这个和rsync一起用。--rsh=COMMAND看上去就像一张票,不管我得到了什么
$ rsync -vvvvn -e 'c -l manager' abc:/tmp/
cmd=c -l manager machine=abc user=<NULL> path=/tmp/
cmd[0]=c cmd[1]=-l cmd[2]=manager cmd[3]=abc cmd[4]=rsync cmd[5]=--server cmd[6]=--sender cmd[7]=-vvvvnde.sf cmd[8]=. cmd[9]=/tmp/
opening connection using: c -l manager abc rsync --server --sender -vvvvnde.sf . /tmp/
note: iconv_open("UTF-8", "UTF-8") succeeded.
(Client) Protocol versions: remote=1886221359, negotiated=30
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
[Receiver] _exit_cleanup(code=2, file=compat.c, line=174): entered
rsync error: protocol incompatibility (code 2) at compat.c(174) [Receiver=3.0.9]
[Receiver] _exit_cleanup(code=2, file=compat.c, line=174): about to call exit(2)发布于 2014-07-08 05:17:57
我已经刮了这个主意,刚从openssh的股票ssh客户端走了。
发布于 2014-07-07 15:09:42
据我所知,您可以通过为每个客户端在.ssh/config中创建一个条目来替换您的.ssh/config。例如,一个名为“foobar”的条目:
Host foobar
HostName example.com #or IP address
Port 980
User test
CheckHostIP no将使您能够简单地将ssh foobar放入主机,并使用rsync -SomeParameters foobar:/path/to/copy /path/to/local/storage复制所需的文件。
https://stackoverflow.com/questions/20063555
复制相似问题