公開鍵が指定されていない場合、 `ssh-keygen -r`は何をしますか?

公開鍵が指定されていない場合、 `ssh-keygen -r`は何をしますか?

短い質問

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キーが見つからないことは問題になりません。

おすすめ記事