【问题标题】:How to avoid duplicate password input to ssh hosts in shell scripting?如何避免在 shell 脚本中向 ssh 主机重复输入密码?
【发布时间】:2015-03-22 12:50:49
【问题描述】:

我正在编写一个脚本来在服务器端进行一些更改。

for HOST in ${WORKER_HOSTS}; do
    echo ${HOST}
    ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${HOST} "doSomething"
done

Do something locally

for HOST in ${WORKER_HOSTS}; do
    echo ${HOST}
    ssh -o StrictHostKeyChecking=no  -o UserKnownHostsFile=/dev/null ${HOST} "doSomething"
done

Do something locally

for HOST in ${WORKER_HOSTS}; do
    echo ${HOST}
    ssh -o StrictHostKeyChecking=no  -o UserKnownHostsFile=/dev/null ${HOST} "doSomething"
done

虽然我已将 StrictHostKeyChecking 设置为 no,但它在执行过程中仍然要求我为同一主机输入 3 次密码。

有没有办法避免同一主机重复输入密码?

【问题讨论】:

    标签: bash shell ssh


    【解决方案1】:

    您可以将ssh-agent 与带有密码短语的公钥/私钥对一起使用。 ssh-agent 在给出一次密码后的用户会话期间“解锁”您的私钥。但是,正确的设置取决于您的平台,因此您需要寻找教程。

    StrictHostKeyChecking 与密码无关。这意味着检查远程主机是否在 known_hosts 中和/或自上次登录以来是否已更改身份。启用它并完全禁用已知主机可能是个坏主意。

    【讨论】:

      猜你喜欢
      • 2012-04-28
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 2021-07-27
      相关资源
      最近更新 更多