キーがすでに存在する場合は、ssh-addに静かにしてください。

キーがすでに存在する場合は、ssh-addに静かにしてください。

ssh-add /path/to/special_keyスクリプトの上部に入れたいです。これはうまくいきますが、いつもパスワードの入力を求められます。ssh-add -lキーが追加されたとマークされていますが、まだパスワードを要求しているので、奇妙で少し迷惑です。

「このキーを追加し、まだ追加されていない場合はパスワードを要求し、そうでない場合は何もしないでください」と言う方法はありますか?

ベストアンサー1

必要なものを達成するのに役立つssh-addオプションはありませんが、特に1つのキーに興味があることを考慮すると、問題を解決するのは非常に簡単です。

まず、特殊キーの指紋を取得します。

ssh-keygen -lf /path/to/special_key  | awk '{print $2}'

この指紋が 6d:98:ed:8c:07:07:fe:57:bb:19:12:89:5a:c4:bf:25 と同じであるとします。

次に、スクリプトの上部にssh-add -lキーがすでにロードされていることを確認し、キーを追加するように求められます。

ssh-add -l |grep -q 6d:98:ed:8c:07:07:fe:57:bb:19:12:89:5a:c4:bf:25 || ssh-add /path/to/special_key

必要に応じて、これらすべての項目を1行に縮小できます。

ssh-add -l |grep -q `ssh-keygen -lf /path/to/special_key  | awk '{print $2}'` || ssh-add /path/to/special_key

おすすめ記事