現在、JAASを使用し、Active Directoryを実行しているWindowsサーバーから送信されたチケット許可チケットを取得することで、Javaアプリケーションのユーザーを認証できます。これはjavaのKrb5LoginModule
で簡単に行えます。SSH /その他のアプリケーション用にJavaで取得したTGTの使用
私はjavaアプリケーションからsshコマンドを実行し、パスワードを要求しないようにsshを有効にするためにTGTを使用したいと思います。私はkerberosで動作するsshを得るためのチュートリアル(OpenSSH & Kerberos)をいくつか見てきましたが、彼らはkinit
を使ってTGTを取得し、チケットは/ tmp/krbcc_XXXに保存されています。チケットが生成された後、自由にsshすることができます。
TGTをディスクに書き込んで/ tmp/krbcc_XXXに格納するか、PrivilegedAction
でsshコマンドを実行できますが、いずれかが動作するかどうかはわかりません。これを行うための受け入れられた方法がありますか?
基本的に、私はパスワードの入力を私に聞かないで、それをこのような何かを呼び出し、持っていると思います:あなたはSSH要求を開始します最初の人明確にする必要があり
// Create Command.
List<String> arguments = new ArrayList<String>();
arguments.addAll(Arrays.asList("ssh", "[email protected]", "xterm"));
// Run SSH command.
ProcessBuilder process = new ProcessBuilder(arguments).start();