Leave this field empty if you'd like to launch slave agents via JNLP. With this setting, the slave information page (hudson/computer/***/) will have a JNLP launch icon, and you can click that link from the correct slave machine to launch a slave agent via JNLP.
This mode is convenient for Windows slaves that often do not have a remote execution mechanism.
When an actual command is specified in this field, this command is executed on the master, and Hudson assumes that the executed program launches the slave.jar program on the correct slave machine.
A copy of slave.jar can be found in WEB-INF/slave.jar inside hudson.war.
In a simple case, this could be something like "ssh hostname java -jar ~/bin/slave.jar". However, it is often a good idea to write a small shell script, like the following, on a slave so that you can control the location of Java and/or slave.jar, as well as set up any environment variables specific to this slave node, such as PATH.
#!/bin/sh exec java -jar ~/bin/slave.jar
You can use any command to run a process on the slave machine, such as RSH, as long as stdin/stdout of this process will be connected to "java -jar ~/bin/slave.jar" eventually.
In a larger deployment, It is also worth considering to load slave.jar from a NFS-mounted common location, so that you don't have to update this file every time you update Hudson.
Setting this to "ssh -v hostname" may be useful for debugging connectivity issue.