Running commands over ssh with Java

Posted by Ichorus on Stack Overflow See other posts from Stack Overflow or by Ichorus
Published on 2009-02-20T17:14:55Z Indexed on 2010/03/08 21:21 UTC
Read the original article Hit count: 287

Filed under:
|
|

Scenerio: I'd like to run commands on remote machines from a Java program over ssh (I am using OpenSSH on my development machine). I'd also like to make the ssh connection by passing the password rather than setting up keys as I would with 'expect'.
Problem: When trying to do the 'expect' like password login the Process that is created with ProcessBuilder cannot seem to see the password prompt. When running regular non-ssh commands (e.g 'ls') I can get the streams and interact with them just fine. I am combining standard error and standard out into one stream with redirectErrorStream(true); so I am not missing it in standard error...When I run ssh with the '-v' option, I see all of the logging in the stream but I do not see the prompt. This is my first time trying to use ProcessBuilder for something like this. I know it would be easier to use Python, Perl or good ol' expect but my boss wants to utilize what we are trying to get back (remote log files and running scripts) within an existing Java program so I am kind of stuck.

Thanks in advance for the help!

© Stack Overflow or respective owner

Related posts about java

Related posts about ssh