防止 rsync 尝试询问密码
Prevent rsync from trying to ask for a password
如何防止 rsync
尝试询问远程服务器登录密码?
注意:我不是在询问如何设置 public 密钥验证 SSH。我 知道 如何设置 public 密钥验证 SSH。我想问的是如何防止 rsync
在 public 密钥验证 失败 时尝试询问密码,就像 scp
的 -B
flag 确实如此。我在这里的脚本中使用 rsync
,所以如果它试图询问密码,我的脚本将挂起,等待永远不会到来的输入。我希望 rsync
命令失败,这样我的脚本就可以检测到失败并正常退出。
只需将选项传递给 rsync
使用的基础 ssh
命令:
rsync -e 'ssh -oBatchMode=yes [other ssh options]' [rest of rsync command]
来自 rsync
手册:
-e, --rsh=COMMAND specify the remote shell to use
来自 ssh
手册:
BatchMode
If set to “yes”, passphrase/password querying will be disabled.
This option is useful in scripts and other batch jobs where no
user is present to supply the password. The argument must be
“yes” or “no”. The default is “no”.
这模拟了行为 os scp -B
。
如何防止 rsync
尝试询问远程服务器登录密码?
注意:我不是在询问如何设置 public 密钥验证 SSH。我 知道 如何设置 public 密钥验证 SSH。我想问的是如何防止 rsync
在 public 密钥验证 失败 时尝试询问密码,就像 scp
的 -B
flag 确实如此。我在这里的脚本中使用 rsync
,所以如果它试图询问密码,我的脚本将挂起,等待永远不会到来的输入。我希望 rsync
命令失败,这样我的脚本就可以检测到失败并正常退出。
只需将选项传递给 rsync
使用的基础 ssh
命令:
rsync -e 'ssh -oBatchMode=yes [other ssh options]' [rest of rsync command]
来自 rsync
手册:
-e, --rsh=COMMAND specify the remote shell to use
来自 ssh
手册:
BatchMode If set to “yes”, passphrase/password querying will be disabled. This option is useful in scripts and other batch jobs where no user is present to supply the password. The argument must be “yes” or “no”. The default is “no”.
这模拟了行为 os scp -B
。