長い間、私は短い名前を使ってネットワーク上の他のホストにSSHで接続することができました。たとえば、ssh otherpc
短い名前であることを認識し、DNS検索サフィックスを追加して検索して、otherpc.mydomain.example
私のSSH設定を*.mydomain.example
次のように一致させました。正しい秘密鍵が選択されました。
ssh otherpc
しかし、今は鍵が無効であると言えないことがわかりました。ping otherpc
(略称参照)からIPv6レスポンスを受信すると(フルネーム参照)からレスポンスを返します。otherpc
ping -4 otherpc
otherpc.mydomain.example
いずれにせよ、IPv4を使用する場合はDNSサフィックスが機能しますが、IPv6を使用する場合は短い名前でのみホストを見つけることができるため、ドメイン全体に適用されるすべてのSSHルールは無視されます。
BINDをDNSデーモンとして実行しており、ドメイン全体の前方エントリと逆方向エントリがあるため(短い名前ではない)、短い名前が何であるかをどのように解決するのかわかりません。私はsystemd-resolvedを実行しているので、これはsystemdが実行する作業であると思われますが、それが何であるかを見つけるのは幸運ではありませんでした。
LLMNRかもしれないと思いましたが、無効にしても/etc/systemd/resolved.conf
役に立ちませんでした。実際にsystemd-resolvedを終了すると、これ以上実行されなくても問題は引き続き発生します(おそらくDNSスタブリスナーと競合するためオフにする必要があるため)。マシンのDNSサーバー)。それでは、この短い名前解決はsystemd-resolved以外の場所で起こると思いますか?
この短いホスト名解決がどのように機能するか、もっと重要なことは、それをオフにしてSSHが再び機能するようにDNSサフィックスを追加する以前の方法に戻る方法を知っている人ですか?