SSHキーの一括更新

SSHキーの一括更新

最近、プライマリ・サーバーをOracle Linux 8.8からOracle Linux 9.3にアップグレードしました。

残念ながら、多くのシステムはまだSSH認証にRSAキーを使用しており、OpenSSH 8.7では動作しなくなりました。

したがって、新しいECDSAキーをリリースする必要があります。

for約150台以上のサーバーでこれを行う必要があるため、次のループを使用してプロセスを単純化しようとしました。

for a in $(grep -v "^#" /etc/hosts | grep -i "fs"  | awk '{print $2}'); do ssh-keygen -R $a; sshpass -p 'PASSWORDXYZ' ssh-copy-id -o StrictHostKeyChecking=no -i id_ecdsa $a; done

変更されたサーバーにログインしようとすると、次のメッセージが表示されます。

$ ssh acefs150
The authenticity of host 'server1 (X.X.X.X)' can't be established.
ED25519 key fingerprint is SHA256:XYZHDKLLDJ.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:293: server2
    ~/.ssh/known_hosts:296: server3
    ~/.ssh/known_hosts:297: server4
    ~/.ssh/known_hosts:305: server24
    ~/.ssh/known_hosts:306: server26
    ~/.ssh/known_hosts:307: server180
    ~/.ssh/known_hosts:310: server185
    ~/.ssh/known_hosts:312: server88
    (105 additional names omitted)
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

各サーバーに固有のホストキーが必要なので、これは私には少し奇妙に見えます。そうではありませんか?

一度「はい」と入力した後、もう一度質問はありませんでした。

全体のプロセスを正しい方法で進めていますか?それとも、より良い方法がありますか?

ベストアンサー1

私はそのメッセージが与えられたコマンドに厳密に関連しているとは思わない。

リモートホストには、昨日または10年前に受け入れたのと同じ(以前の)キーがすでに存在している可能性があります。これらのIDを削除すると、新しい(複製された)ED25519 IDが表示されます。

おすすめ記事