我想在
python脚本中使用rsync.我正在使用子进程模块调用它,并使用存储在远程计算机上的authorized_key文件中的公钥进行身份验证.
@H_502_10@
假设您使用rsync和SSH远程shell(而不是 – 例如 – 使用rsync服务器),那么您可以让rsync以永远不会要求输入密码的方式运行SSH.例如,一旦可以使用此调用:
唯一的问题是当我使用错误的远程用户名使用rsync时,系统会提示我输入密码,这显然会永久停止备份脚本.
如果无法进行身份验证,是否可以强制rsync退出,而不是提示输入密码?
乌迪
rsync -e 'ssh -o "NumberOfPasswordPrompts 0"' source user@target:/path
这将强制rsync使用SSH进行0次可能的密码尝试 – 如果它无法使用其他一些身份验证方法(如公钥或GSSAPI)获取访问权限,那么它将失败并显示错误.请注意,当发生这种情况时,rsync不会喜欢你,并会向STDERR大声抱怨并退出退出代码255.