ssh2_connectПодключение к SSH-серверу
&reftitle.description;
resourcefalsessh2_connectstringhostintport22arraymethodsarraycallbacks
Устанавливает соединение с сервером по SSH.
После соединения, пользователь должен проверить ключ сервера, используя функцию
ssh2_fingerprint, и после этого авторизоваться, используя
пароль или открытый ключ.
&reftitle.parameters;
hostportmethods
Параметр methods может быть ассоциативным массивом,
содержащим до четырёх записей, перечисленных ниже.
Параметр methods может быть ассоциативным
массивом, содержащим от одного до четырёх параметровИндексЧто обозначаетДопустимые значения*kex
Список методов обмена ключами, разделённых запятой, в порядке предпочтения.
diffie-hellman-group1-sha1,
diffie-hellman-group14-sha1, и
diffie-hellman-group-exchange-sha1hostkey
Список методов ключей хоста, разделённых запятой,
в порядке предпочтения.
ssh-rsa и
ssh-dssclient_to_server
Ассоциативный массив, содержащий настройки шифрования, сжатия и
метода имитовставки ("message authentication code" или MAC) для
сообщений, отправленных клиентом серверу.
server_to_client
Ассоциативный массив, содержащий настройки шифрования, сжатия и
метода имитовставки ("message authentication code" или MAC) для
сообщений, отправленных сервером клиенту.
* - Поддерживаемые значения зависят от методов, поддерживаемых базовой библиотекой.
Более подробно читайте документацию по libssh2.
client_to_server и
server_to_client могут быть ассоциативными массивами,
содержащими любой или же все нижеперечисленные параметры.
ИндексЧто обозначаетДопустимые значения*cryptСписок методов шифрования, разделённых запятой, в порядке предпочтения.rijndael-cbc@lysator.liu.se,
aes256-cbc,
aes192-cbc,
aes128-cbc,
3des-cbc,
blowfish-cbc,
cast128-cbc,
arcfour и
none**compСписок методов сжатия, разделённых запятой, в порядке предпочтения.zlib и
nonemacСписок методов MAC, разделённых запятой, в порядке предпочтения.hmac-sha1,
hmac-sha1-96,
hmac-ripemd160,
hmac-ripemd160@openssh.com и
none**
Метод шифрования "none" и MAC
В целях безопасности none отключён в базовой библиотеке
libssh2, если вы не разрешили его
самостоятельно на этапе сборки, используя соответствующие ключи ./configure.
Смотрите документацию по базовой библиотеки для более подробной информации.
callbackscallbacks может быть ассоциативным массивом,
содержащим любой или же все нижеперечисленные параметры
Параметры callback-функции
ИндексЧто обозначаетПрототипignore
Имя функции, вызываемой после получения пакета
SSH2_MSG_IGNOREvoid ignore_cb($message)debug
Имя функции, вызываемой после получения пакета
SSH2_MSG_DEBUGvoid debug_cb($message, $language, $always_display)macerror
Имя функции, вызываемой если пакет получен, но
MAC не удался. Если callback-функция вернёт &true;,
несовпадение будет проигнорировано, в обратном случае
соединение будет оборвано.
bool macerror_cb($packet)disconnect
Имя функции, вызываемой после получения пакета
SSH2_MSG_DISCONNECTvoid disconnect_cb($reason, $message, $language)
&reftitle.returnvalues;
Возвращает ресурс в случае успешного выполнения или &false; в случае возникновения ошибки.
&reftitle.examples;
Пример ssh2_connect
Откроем соединение, принудительно используя такие настройки: 3des-cbc при отправке
пакетов, шифр aes любой силы при получении пакетов, без сжатия в обоих направлениях
и обмен ключами Group1.
'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('Не удалось установить соединение');
?>
]]>
&reftitle.seealso;
ssh2_fingerprintssh2_auth_nonessh2_auth_passwordssh2_auth_pubkey_filessh2_disconnect