我想运行 rsync 而不需要输入密码。我知道我可以使用 ssh 密钥来做到这一点,一旦将正确的密钥复制到远程服务器,rsync 就可以正常登录而无需用户交互。
但是,当密钥被更改、被删除,或者在某些自动化的情况下,将服务器添加到要 rsync 的服务器列表中时,我希望 rsync 不会提示输入密码。
意思是,rsync 应该只尝试使用 ssh 进行无密码登录,如果这不起作用,则继续进行,而不必处理密码提示和可能的长时间超时。
答案1
您可以配置 SSH 客户端以不尝试密码验证:
rsync -e 'ssh -o PasswordAuthentication=no' ...
还有一个BatchMode
禁用密码验证并减少超时的选项:
rsync -e 'ssh -o BatchMode=yes' ...