我需要有一个脚本通过 ssh 从远程主机定期 rsync 文件。运行脚本的帐户在远程主机上没有主目录,因此我无法将我的公钥存储在远程主机上。我很高兴将我的密码存储在本地主机上的文件中,但我似乎无法让 rsync 使用该密码。
该--password-file
选项只是用于连接到 rsync 守护程序的选项,密码提示不会从 stdin 中读取。
sshpass
在您的发行版中查找该程序。拥有后,您可以执行以下操作:
rsync –e 'sshpass -f passwordfile ssh -l user' host:path
Run Code Online (Sandbox Code Playgroud)
或者,将所有内容放在一个文件中:
rsync –e 'sshpass -d 300 ssh -l user' host:path 300<<<'password'
Run Code Online (Sandbox Code Playgroud)
您可能需要考虑更改AuthorizedKeysFile
远程服务器中的选项sshd_config
,如果这是一个选项,那么您可以在没有主目录的情况下在那里设置您的公钥。在这种情况下,它将类似于/home/%u/.ssh/authorized_keys
,以尽量减少与系统上其他用户的潜在冲突。
归档时间: |
|
查看次数: |
3422 次 |
最近记录: |