I'm wondering if Java offers any straightforward ways to allow a command
line script written on machine A to synchronously execute another command
line script written on machine B, wait on response, and retrieve return
code
at the end of execution. Both machines are Windows servers.
I need some basic encryption around the initial authentication of the
client
to the server, but could live without encryption for the rest of the
connection. Some authentication of the machines involved in the
conversation independent of user authentication (similar to SSH) would be
nice. Some ability to limit the programs that can be executed on the
target to a group of programs that have been registered in advance would
be
nice.
Maybe someone has a simple command line EXE for windows written in Java
that
talks to a sample server that would implement a fairly simple protocol for
authentication and execution of a specific application on the target?
Microsoft does have solutions like WShell and WMT, but they are based on
****t 135 and DCOM. We aren't willing to open up those ****ts through the
firewall because too many other services get exposed on the target system
with those ****ts available.
There are plenty of REXEC daemons for Windows, but these appear to be
trivially written and offer no encryption to protect password traversal
over
the TCP connection, no machine authentication, and do nothing to stop
execution of any arbitrary EXE on the target computer.
SSH implementations certainly cover the authentication requirements, but I
don't find a straightforward way to do a synchronous execution of a remote
EXE through the SSH pipe. I do not want to login to a remote shell and
do
things manually there. I want to launch an EXE from within a
client-side
script and get a return code from that one command line that will tell me
how the program ran on the remote host.
What options do I have?
--
Will


|