私のコンピュータでSSHキーペアを生成しましたが、相手は私の公開キーを持っています。相手に自分の秘密鍵を持っていることを証明する方法はありますか?もちろん、これはSSH接続を確立するためにキーを使用するときに発生するためです。既存のツールを使用して、シェルアクセスを提供せずにSSH認証のみを実行できるかどうかを尋ねています。
答え1
はい、可能です。最新バージョンのOpenSSHはデータ署名をサポートしています。次のようにこれを行うことができます。
- 相手(検証者)はファイル形式でランダムにチャレンジを送信します。
- 実行します
ssh-keygen -Y sign -f ~/.ssh/id_ed25519 -n proof challenge-file
(キーとファイル名の調整)。 challenge-file.sig
バリデータに送信し、バリデーションに名前空間を使用するように指示しますproof
。- 検証者は、
ssh-keygen -Y verify -n proof
署名を検証するために適切なパラメータを使用して実行されます。