問題タブ [keytab]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Node JSのKerborosキータブファイルからプリンシパルと暗号化されたキーを読み取る方法は?
Node Server に送信される特定のリクエストをインターセプトし、そこで Kerberos 認証を導入する必要があります。
/names/ に対するリクエストが来た場合、最初に Kerberos 認証を行う必要があり、認証に成功した場合にのみ、リクエストの実行に進みます。
私の知る限り、認証に必要なプリンシパルと暗号化されたキーを含む.keytabファイルが1つあります。
質問: Node JS で .keytab 暗号化ファイルを読み取るにはどうすればよいですか? node-krb5 や node-passport などの Node パッケージを調べましたが、キータブ ファイルを読み取る方法が見つかりませんでした
同様のことをした場合は助けてください。ありがとう。
hadoop - Kerberos keytab を使用して Beeline 経由で Hive に接続する
JDBC で使用されるアプローチと同様の (kerberos) キータブ ファイルを使用して、ビーライン経由で Hive に接続することは可能ですか?
PS : beeline は、ユーザー名とパスワードを使用した kerberos で保護されたハイブ サーバーへの接続をサポートしています。しかし、それをキータブファイルに接続する方法を探しています。 http://doc.mapr.com/display/MapR40x/Configuring+Hive+on+a+Secure+Cluster#ConfiguringHiveonaSecureCluster-UsingBeelinewithKerberos
java - Java 1.7 での Kerberos「Kerberos キーが見つかりませんでした」 - アクセプター資格情報が認識されない
keytab を使用して ADS に対してサービスを識別したいと考えています。Java 8 では成功しますが、Java 6 または Java 7 では成功しません。どちらもエラーで失敗しますGSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos Key)
。
どちらの場合もisInitiator=true
、そうでない場合は失敗するため、を使用します。私が見る限り、Java 8 はファイル内にイニシエーターの資格情報とアクセプターの資格情報を見つけます。
古い Java 実装では、イニシエーターのみが検出され、アクセプターを使用する場合は例外が生成されます。
keytab 自体には、キーが 1 つだけ含まれています。
キータブがイニシエーターである場合とイニシエーターでない場合、およびJavaのバージョンが異なると結果が異なる理由がよくわかりません。誰か助けてくれませんか?
login - キータブ認証をハイブするための Kerberos Java、ログイン失敗 UserGroupInformation.loginUserFromKeytab
Java から Hive への kerberos keytab 認証作業を取得しようとしていますが、問題を解決するための解決策が見つかりません。
java.io.IOException: org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:855) のキータブ {keyTabPath} からの {krbPrincipal} のログイン失敗
原因: javax.security.auth.login.LoginException: ユーザーからパスワードを取得できません
com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:789) com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:654)
これを解決するのに役立つ洞察をいただければ幸いです。
security - Hadoop ジョブ履歴サービスにアクセスするためのキータブからの HTTPClient ログイン
Hadoop ジョブ履歴サービスにアクセスして情報を取得するための Java プログラムを作成しています。
HTTPClient を使用して HttpGet 呼び出しを行っています。ユーザー名とパスワードを入力する代わりに、keytab ファイル (ファイルは ~/.ssh/ フォルダーにあります) からログインする必要があります。
私の質問は: HTTPClient の keytab からログインする方法は?
これが私のHTTPClientのセットアップ方法です
興味深いのは、このコードが IntelliJ で正常に実行できることです。しかし、コマンドラインからビルドして実行すると、ユーザー名とパスワードを尋ねる情報が表示されます。
私は認証が初めてです。誰かが助けてくれることを願っています。どうもありがとう。
authentication - パスワードはどのように keytab ファイルに暗号化されますか?
Linux システムで keytab ファイルを使用して、kerberos でサービスを認証しています。このパスワードが実際にそのキータブファイルにどのように保存されているのか疑問に思っています。/etc/passwd でわかるように、パスワードは一方向ハッシュ法を適用した後に保存されます。そのため、そこから平文のパスワードを計算することはできません。
しかし、それはキータブ ファイルでどのように行われるのでしょうか? キータブを使用するプロセスは、ユーザーを認証するためにパスワードを知っている必要がありますか?! 解読できるようにマスターパスワードで暗号化されていますか?
これを使用してキータブファイルを作成しています:
そのキータブを使用すると、パスワードを入力せずに krbtgt を取得できます。キータブを作成するとき、AD/KDC との通信はありません (そのため、署名などのために追加できる共有秘密はありません)。
では、パスワードはどのようにキータブに暗号化されるのでしょうか? ハッシュアルゴリズムでない場合、復号化できますか?
encryption - Kerberos キータブ ファイルに複数のエントリが含まれている
kerberos を使用してサービスのユーザーを認証しようとしています。を使用して SPN をユーザーにアタッチしましたsetspn -s HTTP/<hostname> <Username>
。
次に、上記の SPN 接続ユーザーに対して ktpass コマンドを使用しました。しかし、生成されたキータブ ファイルには複数のエントリがあり、複数のキーが作成されているようです。
ここで何が問題なのですか?
ktpass コマンドの出力は次のとおりです。
キーが作成されました。
キーが作成されました。
キーが作成されました。
キーが作成されました。
キーが作成されました。
keytab を c:\tomcat.keytab に出力します。
キータブのバージョン: 0x502