情况是,我们的客户想从我们的服务器下载最新的备份(他们不希望我们通过r桌面等方式为他们设置备份)。(叹气)客户端运行windows,服务器运行linux。
我不想给他们写一本冗长而复杂的指南,让他们建立酒吧/公共关系中心,因为他们无疑会浪费他们所有的时间和我们的时间。我要让他们安装cwRsync,这几乎就是windows的rsync。
通常,我会使用一个公共/私钥设置来完成这个操作,并将其安全地设置起来,但是这并不是什么大问题。
如何在rsync命令行上为ssh指定密码?我习惯于: rsync -avz某人@somehost:/blah。
干杯,约翰
发布于 2011-03-09 00:32:13
如何在rsync命令行上为ssh指定密码?
简单的回答是,你不能。SSH的目的是阻止你这样做。cwRsync是一个非常精简的cygwin安装,只有ssh/rsync。您可能会使用的工具,如sshpass或expect,将不会出现。
考虑到上述限制,我真的怀疑您是否会节省任何时间试图让他们使用密码。
这通常是个坏主意,但是如果您和他们之间有一种安全的通信方法,您可以考虑为他们生成密钥对,然后将私钥传送给他们。这似乎并不比允许他们将密码存储在某个脚本/文本文件中更糟糕。
发布于 2011-03-09 01:57:44
如果没有rsync守护进程,您将无法做到这一点。相信我,在我找到关键解决方案之前,我已经尝试过很多次了(到目前为止,这个解决方案要容易得多,而且更加安全)。因此,虽然有许多选项显示您可以这样做:
rsync -avz -e ssh rsynctest/ username@***.***.***.***:/home/directory/rsynctest --password-file=/home/username/rpass不要相信他们。不要浪费时间。它不会因为安装了rsync和ssh而工作。在您了解如何在不使用ssh的情况下进行传输之前(我浪费了一段时间,直到验证这并不容易)和让rsync守护进程运行之前,这是行不通的。这里有两个非常好的阅读,如果您仍然想尝试(如果您还没有遵循Zoredache的好建议)。
http://everythinglinux.org/rsync/ (让我们像1999年一样开派对吧--说真的,那是它写的时候)
http://finmath.uchicago.edu/~wilder/Security/rsync/
几年前,我放弃了让它工作的尝试,用了ssh的钥匙,再也没有回头看过。
发布于 2015-10-01 18:31:38
您可以像这样使用sshpass:
sshpass -p 'YourPasswordHere' rsync -av --delete -r -L -k -h
root@191.129.225.39:/var/www/images /home/swayxp/test-sync/https://serverfault.com/questions/244974
复制相似问题