Now JMeter hasn't sampler for execute command on remote server, but it has beanshell & beanshell framework which can everything what can program languages like Java, Jpython&Jython, Javascript, Perl, Groovy, Ruby, Prolog, VBScript, XSLT, etc.
Below described how with ssh library Ganymed SSH-2 for Java we can write java code, which execute for us command on remote server.
It library you can download from
http://code.google.com/p/ganymed-ssh-2/ and should put into JMeter\lib directory.
PS Don't forget check exit code and set IsSuccess constant in accordance with it!!!
import java.io.*;
import java.util.*;
import ch.ethz.ssh2.*;
String hostname = "server";
String username = login;
String password = password;
String command = "uname -a";
connection = new Connection( hostname );
connection.connect();
connection.authenticateWithPassword( username, password );
Session session = connection.openSession();
session.execCommand( command );
StringBuilder sbOut = new StringBuilder();
StringBuilder sbErr = new StringBuilder();
InputStream stdOut = new StreamGobbler( session.getStdout() );
InputStream stdErr = new StreamGobbler( session.getStderr() );
BufferedReader brOut = new BufferedReader(new InputStreamReader(stdOut));
BufferedReader brErr = new BufferedReader(new InputStreamReader(stdErr));
String lineOut = brOut.readLine();
String lineErr = brErr.readLine();
while( lineOut != null )
{
sbOut.append( lineOut + "\n" );
lineOut = brOut.readLine();
}
while( lineErr != null )
{
sbErr.append( lineErr + "\n" );
lineErr = brErr.readLine();
}
session.close();
connection.close();
if (session.getExitStatus() == 0)
{
IsSuccess = true;
return sbOut.toString();
}
else
{
IsSuccess = false;
return sbErr.toString();
}