0

Is it possible to run command line on a remote machine (not on the server machine where the application is hosted).

I understand Runtime.getRuntime().exec(".."); will try to run the script on the server machine. Is my understanding correct and is there a way to achieve what I need?

hop
  • 2,518
  • 11
  • 40
  • 56

1 Answers1

3

Runtime.getRuntime().exec launches a process on the local machine, not a remote one. Wether that process represents a command line interface or not will be determined by the executable that's run, and the underlying platform.

In order to invoke processes on remote machines you need to:

  • Invoke a remoting type command, like rsh or ssh
  • Utilize a remoting third party library, like Jsch
Perception
  • 79,279
  • 19
  • 185
  • 195
  • Well ... I have seen `Runtime.getRuntime().exec` used as part of an attack on a server. It started sh and then piped input/output over a socket to a remote controlling server. That way, the remote server was able to issue commands to the victim server. – Steve Apr 29 '14 at 16:02