ArchのSSHとGSSAPITrustDns

ArchのSSHとGSSAPITrustDns

パスワードなしでリモートサーバーにSSH経由で接続するようにコンピュータを設定しようとしています。私はフォローしていますこのガイドラインしかし、問題が発生しました。

私は首尾よく走ることができる

kinit -f [email protected]

Kerberosのチケットが見えます。

klist -f

有効期間は1日ですが、あります(毎日更新する必要がありますか?将来の私に関する質問です)。

現在の問題はこの~/.ssh/configファイルにあります。

HOST lxplus*
    GSSAPITrustDns yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials yes

エラーが発生します。

/home/me/.ssh/config: line 6: Bad configuration option: gssapitrustdns
/home/me/.ssh/config: terminating, 1 bad configuration options

したがって、明らかにこれはGSSAPITrustDns使用できません。

私は実行しています:

[me@frankenstein ~]$ uname -srm
Linux 5.17.1-arch1-1 x86_64

この問題をどのように解決できますか?

答え1

/etc/krb5.conf私のファイルに以下を追加して問題を解決しました。

[libdefaults]
    rdns = false

誰かがこれが起こる理由を説明することができます、またはより良い解決策がある場合は良いでしょう。

答え2

したがって、明らかにこれはGSSAPITrustDns使用できません。

実際、標準のOpenSSHの一部ではない複数のGSSAPIオプションが含まれていますGSSAPITrustDns。これはダウンストリームパッチによって追加されたため、Debian / Ubuntu(そしておそらくFedora / RHEL)でのみ利用可能ですが、ArchはOpenSSHパッチを最低レベルに保ちます。

私が知る限り、GSSAPITrustDnsそれはやや同等で[libdefaults] rdns =あり、いかなる場合でもrDNSの使用は有効現在のMIT Krb5バージョンでは、デフォルトで。 CERNドキュメントでは、SSHに対してこのオプションを有効にするように要求するだけです。障害を負う rdnsグローバル/etc/krb5.confにあります。 (AD Kerberosを使っているので意味があると思いますか?)

最初の例を参照してください(SSHオプション)作るrDNSの使い方と自分の答え障害を負う私は見るのが好きだと思います。あなたが達成しようとするものに反対するもの「これがうまくいく」と言う理由が何であるかよくわかりません。

有効期間は1日ですが、あります(毎日更新する必要がありますか?将来の私に関する質問です)。

これは Kerberos チケットの場合、通常の現象です。デフォルトではkinit毎日やり直す必要があります。

kinit -r 7d通常、次のものを使用できます。更新済み最大7日間のパスワードは必要ありません(既存のチケットを新しいチケットに置き換えます)kinit -R。ゾーン管理者が可能な更新時間を調整した可能性があります。短くしたり無効にしたりすると、KDCは自動的に更新時間を最大値に制限します。時間がありますので、klist後からご確認ください。

このkrenewツール(AURにあります」始める「パッケージ)は、cronjobを予約するよりも賢い選択肢として、バックグラウンドでチケットを更新するために使用できますkinit -R

同じパッケージにはk5start非常によく似たツールが含まれていますが、以下からダウンロードすることもできます。キータブ- ディスクにパスワードを保存できる場合、Kerberosは通常ハッシュされたパスワード形式を含めkinit(またはk5start)で使用できる「keytab」ファイルを作成することによって実行されます。

ユーザーキータブはを使用して作成できますktutil。 (サービス資格情報の代わりにユーザー資格情報を保持することを除いて、/etc/krb5.keytabのkeytabと同じです。いいえ同じツールを使って得た。 「msktutil」および「cern-get-keytab」ツールは機能しません。 )

$ktutil
ktutil:plus-password-p[Eメール保護]-k 0 -f
ktutil:wkt foo.keytab
$kinit -k -t foo.keytab

KRB5_CLIENT_KTNAME[ユーザーキー]タブの使用が許可されている場合は、最新バージョンのMIT Krb5ですぐに使用できます。環境変数をキータブパスに設定するだけで、GSSAPIを使用するプログラムは自動的にキータブパスを取得または更新します。必要に応じてチケット - 使用する必要もなく、使用する必要もkinitありませんk5start

関連情報