.ssh/known_hostsから指紋を抽出する方法は?ただし、特定のキータイプをフィルタリングします。

.ssh/known_hostsから指紋を抽出する方法は?ただし、特定のキータイプをフィルタリングします。

私はこの質問を読んだ。

答えがうまくいったので、いくつかのバリエーションを試しました。

ssh-keygen           -lf   ~/.ssh/known_hosts -F 192.168.1.X
ssh-keygen           -lvf  ~/.ssh/known_hosts -F 192.168.1.X
ssh-keygen -E md5    -lvf  ~/.ssh/known_hosts -F 192.168.1.X
ssh-keygen -E sha256 -lvf  ~/.ssh/known_hosts -F 192.168.1.X

すべてが期待どおりに動作します。

注意事項:上記のコマンド共有についてすべて表示されます。指紋自分で立ち上がろうキータイプ、例えばrsaecdsa等…私もこれに同意しますが… この文を書く理由は

質問:

  • ssh-keygen特定のフィルタでコマンドを実行するにはkey type

ssh-keyscanoptions に似ている-tので、次のようになります。

ssh-keygen -lf   ~/.ssh/known_hosts -F 192.168.1.X -? rsa
ssh-keygen -lf   ~/.ssh/known_hosts -F 192.168.1.X -? ecdsa

それでは、それは何ですか?? - 見ましたが、ssh-keygen --helpそんなサポートはないようです。

答え1

Kornなどのシェルでは、いつでも次のことができます。

ssh-keygen -lf <(grep ' ssh-rsa ' ~/.ssh/known_hosts) -F localhost

魚も同じです。

ssh-keygen -lf (grep ' ssh-rsa ' ~/.ssh/known_hosts|psub) -F localhost

または、システムが/dev/stdin(現在)次のものを持っていると仮定する他のシェル:

grep ' ssh-rsa ' ~/.ssh/known_hosts | ssh-keygen -lf /dev/stdin -F localhost

これらのファイル行は他の場所(コメントやオプションなど)には見つからssh-rsaないと仮定します。known_hosts

関連情報