短くするために、私は最近RHEL 7サーバーを立ち上げてFreeIPAに登録しました。他のすべての登録済みサーバーは、ホスト名だけを使用してgssapi-with-micで認証することで問題なくお互いにSSHで接続できますが、これは何か設定が間違っているようで、パスワード認証にフォールバックします。具体的には、FQDNに明示的にsshしない限り、リモートサーバーのFQDNに対して短いホスト名を使用しようとしているようです。
FQDNを使用してsshする場合、つまり.
ssh remote-hostname.domain.com
すべてが正常に動作します。そうでない場合、つまり.
ssh remote-hostname
パスワードの入力を求められます。 sshデバッグを有効にすると、次のようになります。
debug3: authmethod_is_enabled gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Server Host/[email protected] not found in Kerberos database
nslookupはサーバーのFQDNを正しく提供します。
[kevin@local-hostname ~]$ nslookup remote-hostname
Server: x.x.x.x
Address: x.x.x.x#53
Name: remote-hostname.domain.com
Address: x.x.x.x
ローカルサーバーのドメインが正しく設定されているようです:
[kevin@local-hostname ~]$ hostname
local-hostname
[kevin@local-hostname ~]$ hostname -f
local-hostname.domain.com
私はここからどこに行くべきかについて少し困惑しています。リモートホスト名へのsshが機能しない理由を誰かが教えてもらえますか?残念ながら、私はKerberosを使い始めたばかりですが、新しいサーバーの/etc/krb5.confファイルが他の稼働中のサーバーのファイルと一致することを確認する以外に、どこを調べればよいかわかりません。
問題は実際に私が見落としていた/etc/krb5.confの違いでした-私の新しいサーバーは
dns_canonicalize_hostname = false
set-これは、あなたが期待するとおり、ホスト名がFQDNに正規化されない原因となりました。 manページによると、このオプションのデフォルトは「true」なので、なぜ変更されたのか正確にはわかりません。ファイルにはコメントがあります
#File modified by ipa-client-install
それを行ったのはIPA登録であると私に思わせました。オプションを「true」に設定(または行を削除)すると、すべてが修正されます。誰かがより良い洞察を持っている場合に備えて、質問は少し開いたままにしておきます。