我在执行 SSHEXEC ant 任务时遇到问题。

我正在尝试连接到远程主机并执行命令。

我正在尝试使用“ key 文件”,因此我不需要使用用户/密码并遇到问题。

我可以让它连接,但提示:

[sshexec] 连接到 $HOST:22

[sshexec] Kerberos 用户名 [$Local_USER]:

[sshexec] $Local_USER 的 Kerberos 密码:

现在,如果我在每个提示处都按回车键,它将继续执行命令。

我正在使用这种方法进行自动化,因此如果您需要交互,则无法达到目的。

这是 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)

如果我做错了什么,任何人都可以提供帮助或建议吗?

提前致谢。

保罗

最佳答案

这里的问题在于 Java 7。

在 JAVA 7 中,他们将 Kerberos 引入了 java.security 中,这导致问题在继续之前提示输入 kerberos 用户/密码。

我已经通过降级到 Java 1.6 解决了这个问题。

我仍在研究 1.7 版 Java 的修复程序 - 可能需要进一步配置 Java 的 kerberos conf 文件。

10-08 11:59