たとえば、StrictHostKeyCheckingオプションを使用します。
ssh -oStrictHostKeyChecking=no $h uptime
このオプションは〜/ .ssh / configにも追加できます。例:
Host somehost
Hostname 10.0.0.1
StrictHostKeyChecking no
ホストキーが変更されると、このオプションを使用しても警告が表示されることに注意してください。
$ ssh -oStrictHostKeyChecking=no somehost uptime
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
31:6f:2a:d5:76:c3:1e:74:f7:73:2f:96:16:12:e0:d8.
Please contact your system administrator.
Add correct host key in /home/peter/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/peter/.ssh/known_hosts:24
remove with: ssh-keygen -f "/home/peter/.ssh/known_hosts" -R 10.0.0.1
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
ash: uptime: not found
ホストを頻繁に再インストールしない場合は、オプションを使用してこれを安全性の低いものにすることができます(ただし、ホストキーを頻繁に変更する方が便利です)-oUserKnownHostsFile=/dev/null
。これにより、受信したすべてのホストキーが破棄されるため、警告は生成されません。
18.04では、新しい可能性がありますStrictHostKeyChecking=accept-new
。からman 5 ssh_config
:
If this flag is set to “accept-new” then ssh will automatically
add new host keys to the user known hosts files, but will not
permit connections to hosts with changed host keys. If this flag
is set to “no” or “off”, ssh will automatically add new host keys
to the user known hosts files and allow connections to hosts with
changed hostkeys to proceed, subject to some restrictions.
yes
、「y」を出力するので、幸運があったかもしれないことに注意したいだけですfor h in $SERVER_LIST; do yes yes | ssh $h "uptime"; done
(余分なyesに注意してください。 ")。