SSH2_CONNECT(3) 1 SSH2_CONNECT(3)
ssh2_connect - Connect to an SSH server
SYNOPSIS
resource ssh2_connect (string $host, [int $port = 22], [array $methods], [array $callbacks])
DESCRIPTION
Establish a connection to a remote SSH server.
Once connected, the client should verify the server's hostkey using ssh2_fingerprint(3), then authenticate using either password or public
key.
PARAMETERS
o $host
-
o $port
-
o $methods
-$methods may be an associative array with up to four parameters as described below.
$methods may be an associative array with any or all of the following parameters.
* - Supported Values are dependent on methods supported by underlying library. See libssh2 documentation for additional informa-
tion.
$client_to_server and $server_to_client may be an associative array with any or all of the following parameters.
+------+--------------------------------------+---+
|Index | | |
| | | |
| | Meaning | |
| | | |
| | Supported Values* | |
| | | |
+------+--------------------------------------+---+
|crypt | | |
| | | |
| | List of crypto methods to advertise, | |
| | comma separated in order of prefer- | |
| | ence. | |
| | | |
| | | |
| | rijndael-cbc@lysator.liu.se, | |
| | aes256-cbc, aes192-cbc, aes128-cbc, | |
| | 3des-cbc, blowfish-cbc, cast128-cbc, | |
| | arcfour, and none** | |
| | | |
|comp | | |
| | | |
| | List of compression methods to | |
| | advertise, comma separated in order | |
| | of preference. | |
| | | |
| | | |
| | zlib and none | |
| | | |
| mac | | |
| | | |
| | List of MAC methods to advertise, | |
| | comma separated in order of prefer- | |
| | ence. | |
| | | |
| | | |
| | hmac-sha1, hmac-sha1-96, hmac- | |
| | ripemd160, hmac- | |
| | ripemd160@openssh.com, and none** | |
| | | |
+------+--------------------------------------+---+
Note
Crypt and MAC method " none"
For security reasons, none is disabled by the underlying libssh2 library unless explicitly enabled during build time by
using the appropriate ./configure options. See documentation for the underlying library for more information.
o $callbacks
-$callbacks may be an associative array with any or all of the following parameters.
Callbacks parameters
+-----------+--------------------------------------+---+
| Index | | |
| | | |
| | Meaning | |
| | | |
| | Prototype | |
| | | |
+-----------+--------------------------------------+---+
| ignore | | |
| | | |
| | Name of function to call when an | |
| | SSH2_MSG_IGNORE packet is received | |
| | | |
| | void ignore_cb($message) | |
| | | |
| debug | | |
| | | |
| | Name of function to call when an | |
| | SSH2_MSG_DEBUG packet is received | |
| | | |
| | void debug_cb($message, $language, | |
| | $always_display) | |
| | | |
| macerror | | |
| | | |
| | Name of function to call when a | |
| | packet is received but the message | |
| | authentication code failed. If the | |
| | callback returns TRUE, the mismatch | |
| | will be ignored, otherwise the con- | |
| | nection will be terminated. | |
| | | |
| | bool macerror_cb($packet) | |
| | | |
|disconnect | | |
| | | |
| | Name of function to call when an | |
| | SSH2_MSG_DISCONNECT packet is | |
| | received | |
| | | |
| | void disconnect_cb($reason, $mes- | |
| | sage, $language) | |
| | | |
+-----------+--------------------------------------+---+
RETURN VALUES
Returns a resource on success, or FALSE on error.
EXAMPLES
Example #1
ssh2_connect(3) example
Open a connection forcing 3des-cbc when sending packets, any strength aes cipher when receiving packets, no compression in either
direction, and Group1 key exchange.
<?php
/* Notify the user if the server terminates the connection */
function my_ssh_disconnect($reason, $message, $language) {
printf("Server disconnected with reason code [%d] and message: %s
",
$reason, $message);
}
$methods = array(
'kex' => 'diffie-hellman-group1-sha1',
'client_to_server' => array(
'crypt' => '3des-cbc',
'comp' => 'none'),
'server_to_client' => array(
'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
'comp' => 'none'));
$callbacks = array('disconnect' => 'my_ssh_disconnect');
$connection = ssh2_connect('shell.example.com', 22, $methods, $callbacks);
if (!$connection) die('Connection failed');
?>
SEE ALSO
ssh2_fingerprint(3), ssh2_auth_none(3), ssh2_auth_password(3), ssh2_auth_pubkey_file(3).
PHP Documentation Group SSH2_CONNECT(3)