在java中运行ssh命令时出错

时间:2011-08-16 13:23:11

标签: java eclipse ssh expectj

我正试图以这种方式在Eclipse中运行ssh命令

ExpectJ exp = new ExpectJ();    
Spawn s = exp.spawn("ssh root@192.168.1.2");
. . . 
. . . 
. . . 

但我认为这是错误 -

Pseudo-terminal will not be allocated because stdin is not a terminal.

如果我尝试以下方式,

Spawn s = exp.spawn("ssh -t -t root@192.168.1.2");

并执行,我收到此错误

tcgetattr: Invalid argument

此外,代码只执行一半,我收到此消息 -

Killed by signal 15.

最后我面临超时异常

有什么建议吗?我不确定这些错误消息是什么意思。

2 个答案:

答案 0 :(得分:0)

我不确定你为什么会遇到你所看到的错误,但我可以说我什么时候需要做ssh / scp等我已经使用过这个库:http://www.jcraft.com/jsch/而且它是我的工作很顺利。

答案 1 :(得分:0)

我可以使用内置方法!!从未意识到甚至存在。

s = exp.spawn(hostName, sshPort, userName, userPassword);