我正在编写一个脚本来在服务器端进行一些更改。
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,但它仍然要求我在执行期间为同一主机执行三次密码输入。
有没有办法避免重复输入相同主机的密码?
答案 0 :(得分:1)
您可以使用ssh-agent
以及带密码的公钥/私钥对。 ssh-agent
"解锁"在密码短语给出一次后,用户会话期间的私钥。正确的设置取决于您的平台,因此您需要查找教程。
StrictHostKeyChecking与密码无关。这意味着检查远程主机是否在known_hosts中和/或自上次登录后是否已更改身份。启用它并完全禁用已知主机可能是一个坏主意。