bash + bashのauthorized_keys(ssh)で重複する項目を回避する方法

bash + bashのauthorized_keys(ssh)で重複する項目を回避する方法

SSH公開鍵をリモートホストファイルに追加するauthorized_keys一般的な方法には、コマンドの使用やファイルへの追加などのssh-copy-idbash演算子の使用が含まれます。>>

問題は、ssh-copy-idこのコマンドがキーがすでに存在するかどうかを確認しないことです。後で実行すると重複したキーエントリが追加される可能性があるため、スクリプトと自動化に問題が発生する可能性があります。

そのため、次のスクリプトを使用します(rhelサーバーバージョン7.8以降)。

more /tmp/test.sh

#!/bin/bash

PUB_KEY=` cat /root/.ssh/id_rsa.pub `
grep -q -F \"$PUB_KEY\" ~/.ssh/authorized_keys 2>/dev/null || echo \"$PUB_KEY\" >> ~/.ssh/authorized_keys

これが最善のアプローチであるかどうかわからないので、すぐに利用可能な別のアイデアを得たいと思います*

関連情報