4

SSHEXEC ant タスクに問題があります。

リモートホストに接続してコマンドを実行しようとしています。

「キーファイル」を使用しようとしているので、ユーザー/パスを使用して問題を起こす必要はありません。

接続できますが、プロンプトが表示されます:

[sshexec] $HOST:22 に接続中

[sshexec] Kerberos ユーザー名 [$Local_USER]:

[sshexec] $Local_USER の Kerberos パスワード:

各プロンプトで Return キーを押すだけで、コマンドが続行され、実行されます。

私はこの方法を自動化に使用しているため、対話する必要がある場合は目的を無効にします。

ANT 構文は次のとおりです。

<target name="explode" depends="deploy" description="Creating build on Deployment Server">
      <sshexec host="${host}"
             username="${user}"
             keyfile="c:\paul\testkey"
             trust="true"
             command="${bin}/createBuild.sh"/>
</target>

Ant バージョン - 1.8.3 Jsch バージョン - jsch-0.1.42 (jsch-0.1.29 でも試しました)

私が何か間違ったことをしている場合、誰かが助けたり助言したりできますか?

前もって感謝します。

ポール

4

4 に答える 4

2

ここでの問題は Java 7 にあります。

JAVA 7 では、java.security に Kerberos が導入されました。そのため、続行する前に kerberos ユーザー/パスワードの入力を求める問題が発生しました。

Java 1.6 にダウングレードすることで、この問題を修正しました。

Java の 1.7 バージョンの修正についてはまだ調査中です。Java の kerberos conf ファイルをさらに構成する必要があるかもしれません。

于 2012-08-03T10:48:58.790 に答える
2

Cambolie が提案したように Java 1.6 にダウングレードするか、 -noinput を追加してこの問題を解決することができます。

例えば:

ant -noinput [some_target]
于 2012-11-29T14:01:22.697 に答える
0

これはおそらくリモート側の設定ミスです。ユーザー名を要求するべきではありません。これについては、システム管理者に相談してください。KerberosそれもSSHとは全く関係ないので気になります。

また、公開鍵がユーザーのアカウントにインストールされていることを確認してください。

于 2012-08-03T08:42:52.463 に答える