shell - 我的脚本如何调用 SSH 并避免 "Enter passphrase for key"消息?

标签 shell ssh

我有一个包含以下命令的 shell 脚本:

/usr/local/bin/ssh -q -i /.ssh/id_rsa -l oracle \
    -o UserKnownHostsFile=/dev/null \
    -o StrictHostKeyChecking=no \
    -o PasswordAuthentication=no \
    ${REMOTE_HOST} ${REMOTE_CMD}

StrictHostKeyChecking=no 避免在无法识别远程主机时提示,而 PasswordAuthentication=no 避免在私钥未知时提示输入密码。但是,如果有人不小心为私钥设置了密码,我仍然会收到“Enter passphrase for key”的提示。这会导致脚本在等待响应时挂起,这是一件坏事。有什么办法可以避免提示并立即退出吗?

最佳答案

ssh -o BatchMode=yes ... 将禁用密码短语/密码查询。

关于shell - 我的脚本如何调用 SSH 并避免 "Enter passphrase for key"消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13290912/

相关文章:

ios - 如何使用 PlistBuddy 将数组添加到 Plist?

Shell 命令查找两个文件中共有的行

ssh - 如何使ssh使用不同的id_dsa

git - maven-release-plugin 不使用作业配置或/和 .ssh/config 中提供的 ssh key

使用 ssh 和 ssl 的 java mongodb 连接

visual-studio-code - VS Code 远程 SSH 连接不起作用

shell - 比较shell脚本中的两个日期

linux - 查找不属于特定用户的文件

linux - 为什么我的 bash 脚本在空白处中断?

linux - 如何从 perl 脚本中注销 ssh session ?