解決策 1:
Active Directory ドメインの一部である Windows マシンでは、ユーザーは Windows にログインするときに Kerberos チケット許可チケットを受け取り、PuTTY 構成接続|SSH|Auth|GSSAPI で GSSAPI 認証が有効になっている場合、PuTTY はそれを認証に使用できます。 (また、Pageant を介した公開鍵など、GSSAPI の前に試行するその他の認証方法は、Connection|SSH|Auth で設定または無効化されていません)。
[チケット委任も必要な場合 (ログイン後に kerberized ファイル システムをサーバーにマウントする場合など)、PuTTY でも GSSAPI 委任が有効になっていることを確認してください。および ログインするサーバーは、[委任] タブの Active Directory で「このコンピューターをすべてのサービスへの委任に対して信頼する (Kerberos のみ)」としてマークされます。 "、これはデフォルトではありません。AD での後者の信頼設定は、不思議なことに、PuTTY などの Windows クライアントから委任を機能させるためにのみ必要です。Linux の "ssh -K" クライアントには必要ありません。]
Active Directory ドメインの一部ではないセルフマネージド (個人用) Windows マシンでは、PuTTY を介して Kerberos/GSSAPI 認証 (およびチケット委任) を引き続き使用できますが、自分でチケットを取得する必要があります。残念ながら、Windows 7 には (手動でチケットを要求するための) kinit プログラムに相当するものはインストールされていません。また、チケットがない場合でも、PuTTY は Kerberos パスワードの入力を求めません。したがって、MIT Kerberos for Windows パッケージをインストールする必要があります。このパッケージには、通常の kinit/klist/kdestroy コマンドライン ツールと、きちんとした GUI ツール「MIT Kerberos Ticket Manager」の両方が含まれています。それらを使用してチケットを取得すると、PuTTY は Microsoft SSPI ライブラリの代わりに MIT GSSAPI ライブラリを自動的に使用し、すべて動作するはずです。 「MIT Kerberos Ticket Manager」が実行されている場合、PuTTY がチケットを必要とするときに、Kerberos パスワードの入力を自動的に求めるプロンプトが表示されるため、Startup フォルダからリンクすることをお勧めします。
解決策 2:
最初に、PuTTY を実行している Windows ボックスでの klist 出力が有効な TGT を示していることを再確認します。次に、PuTTY セッションの設定で、Attempt GSSAPI authentication を確認します。 Connection - SSH - Auth - GSSAPI
で有効になっています .最後に、Connection - Data
でユーザー名で自動的にログインするように設定されていることを確認してください .ユーザー名を明示的に指定するか、[システム ユーザー名を使用] のラジオ ボタンを選択することができます。 .
歴史的に、パスワードなしの SSH ログインを Kerberos 経由で機能させるために必要だったのはこれだけです。
解決策 3:
問題は、Windows Kerberos のセットアップにありました。私たちの Active Directory はおかしな設定になっていると思います。私が Windows 管理者ではないことはよくわかりません。
しかし、Windows 7 CLI で ksetup を使用して Kerberos を手動で構成することで問題を解決しました。
リモート ワークステーションを再起動した後、自分の PC にログインできませんでした。これは、元の構成ではレルム ドメインの TLD 部分 (domain\user) が常に存在しなかったためですが、手動で構成した後、完全なレルム ドメイン名 (domain.TLD\user) を反映するようにログイン ドメインを変更する必要がありました。 Windows PC にログインできましたが、現在は認証に時間がかかっているようです。
変更前は、ksetup の出力にはデフォルトのレルムしか表示されず、小文字でした。
「 nslookup -type=SRV _kerberos._tcp.domain.TLD 」を使用して、レルムのすべての kdc サーバーを取得しました。
フラグを設定しませんでした。
ユーザー名 " ksetup /mapuser [email protected] user " をマッピングしました
私が使用したリソース:https://wiki.ncsa.illinois.edu/display/ITS/Windows+7+Kerberos+Login+using+External+Kerberos+KDC
https://www.cgl.ucsf.edu/Security/CGLAUTH/CGLAUTH.html
これを修正する方法について、Windows 管理者に提案できること (壊れていることはありますか?) があれば、それを伝えます。