使用脚本提供的密码进行 rsync

使用脚本提供的密码进行 rsync

我需要一个脚本定期通过 ssh 从远程主机 rsync 文件。运行该脚本的帐户在远程主机上没有主目录,因此我无法将我的公钥存储在远程主机上。我很乐意将我的密码存储在本地主机上的文件中,但我似乎无法让 rsync 使用该密码。

--password-file选项仅仅是一个用于连接 rsync 守护进程的选项,并且密码提示不会从 stdin 读取。

答案1

你看过使用预计

答案2

在你的发行版中查找该程序sshpass。找到后,你可以执行以下操作:

rsync –e 'sshpass -f passwordfile ssh -l user' host:path

或者,把所有内容放在一个文件中:

rsync –e 'sshpass -d 300 ssh -l user' host:path 300<<<'password'

您可能想要研究更改AuthorizedKeysFile远程服务器的选项sshd_config(如果可以的话),这样您就可以在那里设置公钥而无需主目录。在这种情况下,它将类似于/home/%u/.ssh/authorized_keys,以尽量减少与系统上其他用户的潜在冲突。

相关内容