The SshClient class provides the ability to connect to a remote system using SSH2
or SSH3, but not SSH1. This class is very similar to the TelnetClient class.
Constructor
var client = new SshClient( String ip, String userName, String password, int port );
Specifying the
port is optional. If the
port is not specified, the default SSH port of 22 is used.
Properties
There are no SshClient properties accessible from JavaScript.
Methods
| Return Value | Name | Description |
| String[] | expect( String regex ) | Matches regex on incoming text, returns all capture groups. |
| String | get( String regex ) | Blocks until regex is matched in returning text; returns everything up to that point or times out. |
| String | getAll() | Returns all incoming text since the last 'get' oriented method was called. Imposes a 200ms wait for each invocation. |
| String | getAllToPrompt( String prompt ) | Returns all input in the buffer up to prompt, since the last send. |
| int | getFlags() | Returns the flags used to compile the regex . Refer to the Java class Pattern for more information. |
| String | getPrompt() | Sends a newline and returns the results. Try to minimize the use of this method because it imposes a one second wait every time it is called. |
| String[] | grep( String text , String regex ) | Performs basic grep functionality on text using regex . |
| String | replaceAll( String regex , String replace , String text ) | Replaces all occurrences of regex in text with replace |
| String | replaceFirst( String regex , String replace , String text ) | Replaces the first occurrence of regex in text with replace |
| void | send( String value ) | Writes a string value to the SSH session |
| void | sendAsIs( String value ) | Writes a string value to the SSH session without a trailing newline. |
| void | setCaseInsensitive( boolean value ) | Enables/disables case insensitive pattern matching. |
| void | setCommandPrompt( String prompt ) | Sets the command prompt to expect. Default is "\\$ ?" |
| void | setDotall( boolean value ) | Enables/disables dotall mode. In dotall mode, the expression . matches any character, including a line terminator. By default this expression does not match line terminators. This allows matching patterns across multiple lines. |
| void | setFlags( int flags ) | Sets the flags used to compile the regex. |
| void | setMultiline( boolean value ) | Enables multiline mode, in which the expressions ^ and $ match just after or just before, respectively, a line terminator or the end of the input sequence. By default these expressions only match at the beginning and the end of the entire input sequence. |
| void | setTimeout( int seconds ) | Sets the timeout value of all 'get' type operations (get, expect, etc). Default is 10 seconds. |
| void | wait( int milliseconds ) | Blocks for specified number of milliseconds |
The following table lists the flag values and their meanings.
| Value | Description |
| 1 | Enables Unix lines mode |
| 2 | Enables case-insensitive matching |
| 4 | Permits whitespace and comments in pattern |
| 8 | Enables multiline mode |
| 16 | Enables literal parsing of the pattern |
| 32 | Enables dotall mode |
| 64 | Enables Unicode-aware case folding |
| 128 | Enables canonical equivalence |
Sample usage
var client = new SshClient( “1.2.3.4”, “root”, “password” ); client.setCommandPrompt( “Select menu option: “ ); client.getPrompt(); client.send( “logout” );
