短い質問
ssh-keygen -r hostname
デフォルトの公開鍵を使用しているとします。基本的にはそうなると思いましたが、~/.ssh/id_rsa.pub
そうではありません。だから何はい何をしていますか?
長いバージョン
OpenSSHコマンドラインユーティリティの私の経験によれば、ユーザーに欠落しているパラメータを求めるメッセージを表示するか、標準のデフォルトに戻ります。しかし、ssh-keygen -r
それは本当ではないようです。ssh-keygen -r
公開鍵(例:)を指定せずにコマンドを実行すると、次のssh-keygen -r hostname
出力が表示されます。
no keys found.
たとえば、公開鍵をデフォルト値に設定したいとします。ただし、この公開鍵を明示的に渡すと(たとえば)、次の形式の出力が表示されるため、~/.ssh/id_rsa.pub
そうでないようです。ssh-keygen -r hostname -f ~/.ssh/id_rsa.pub
hostname IN SSHFP 1 1 5d6c87ef4e8f4f59974f05723ff3dc0cffc9c4b4
hostname IN SSHFP 1 2 8fa151e7f3ba43fa89c240ab236f0313aea1fe9f9e9f4e5b8f084ca0008399ed
また、マニュアルページにはssh-keygen
コマンドの次の構文が表示されますssh-keygen -r
。
ssh-keygen -r hostname [-f input_keyfile] [-g]
フラグはオプションで表示されるので、エラーメッセージを印刷する以外に他の操作を実行したいと-f input_keyfile
思います。ssh-keygen
ssh-keygen -r hostname
もしそうなら、デフォルトの公開鍵として使用されず、ユーザーに公開鍵を指定するように求められない場合は~/.ssh/id_rsa.pub
どうなりますか?はい何をしていますか?デフォルトでは別のパスが使用されますか?それでは、その道は何ですか?
メモ:私はmacOS High Sierra(Mac OS Xバージョン10.13.6)でOpenSSHバージョン7.6を実行しています。
答え1
ssh-keygen -r
生成するSSHFPレコード。これはあなたが入れたものです。DNSエントリショーと言う所有者キーはホスト名に対応します。これにより、コンピュータにログインしたい人は、DNSレコードを信頼していると仮定してどのホストキーが必要かを知ることができます。DNSSEC)。
ssh-keygen -r
したがって、コンピュータのホストキーを見つけるのは自然なことです。ユーザーキーには興味がありません。ユーザーキーを強制的に読むと機能しますが、結果は役に立ちません。ssh-keygen -r
ビュー/etc/ssh_host_*_key.pub
またはSSHサーバーがホストキーを検索するように構成されている場所。コンピュータにSSHサーバーが設定されていない場合、SSHFPレコードは役に立たないため、ssh-keygen -r
キーが見つからないことは問題になりません。