1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
archived-doc-ru/reference/ssh2/functions/ssh2-connect.xml
Mikhail Alferov 96ae28e1c1 Update SSH2 to En (#1203)
* Create ssh2-auth-pubkey.xml

* Update ssh2-auth-pubkey-file.xml to En

* Update ssh2-connect.xml to en

* Update ssh2-auth-pubkey-file.xml Remove extra whitespace

* Update ssh2-auth-pubkey.xml Remove extra whitespace
2026-03-09 19:13:20 +03:00

324 lines
13 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 74ef2355c59e814d14f75a0792d22727be72f137 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.ssh2-connect">
<refnamediv>
<refname>ssh2_connect</refname>
<refpurpose>Подключается к серверу по протоколу SSH</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>resource</type><type>false</type></type><methodname>ssh2_connect</methodname>
<methodparam><type>string</type><parameter>host</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>port</parameter><initializer>22</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter>methods</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>callbacks</parameter></methodparam>
</methodsynopsis>
<simpara>
Функция устанавливает соединение с сервером по протоколу SSH.
</simpara>
<simpara>
После установки соединения клиенту потребуется проверить ключ хоста сервера
функцией <function>ssh2_fingerprint</function>,
а затем пройти аутентификацию по паролю или открытому ключу.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>host</parameter></term>
<listitem>
<simpara>
Хост.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>port</parameter></term>
<listitem>
<simpara>
Номер порта.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>methods</parameter></term>
<listitem>
<simpara>
Параметр <parameter>methods</parameter> — ассоциативный массив,
который содержит одно или все следующие значения.
</simpara>
<table>
<title>Допустимые значения параметра <parameter>methods</parameter></title>
<tgroup cols="3">
<thead>
<row>
<entry>Индекс</entry>
<entry>Обозначение</entry>
<entry>Допустимые значения*</entry>
</row>
</thead>
<tbody>
<row>
<entry>kex</entry>
<entry>
Список значений для объявления способов обмена ключами. Значения разделяют запятой и указывают в порядке убывания приоритета.
</entry>
<entry>
<literal>diffie-hellman-group1-sha1</literal>,
<literal>diffie-hellman-group14-sha1</literal>
и <literal>diffie-hellman-group-exchange-sha1</literal>
</entry>
</row>
<row>
<entry>hostkey</entry>
<entry>
Список значений для объявления методов проверки подлинности ключей хоста.
Значения разделяют запятой и указывают в порядке убывания приоритета.
</entry>
<entry>
<literal>ssh-rsa</literal>
и <literal>ssh-dss</literal>
</entry>
</row>
<row>
<entry>client_to_server</entry>
<entry>
Ассоциативный массив с настройками шифрования,
сжатия и метода имитовставки (Англ. Message Authentication Code, сокр. MAC)
для сообщений в направлении клиент — сервер.
</entry>
<entry/>
</row>
<row>
<entry>server_to_client</entry>
<entry>
Ассоциативный массив с настройками шифрования,
сжатия и метода имитовставки
для сообщений в направлении сервер — клиент.
</entry>
<entry/>
</row>
</tbody>
</tgroup>
</table>
<simpara>
* — Поддерживаемые значения зависят от методов, которые поддерживает базовая библиотека.
Дополнительную информацию даёт <link xlink:href="&url.libssh2;">документация к libssh2</link>.
</simpara>
<table>
<title>
<parameter>client_to_server</parameter>
и <parameter>server_to_client</parameter> — ассоциативные массивы
с одним или всеми следующими параметрами.
</title>
<tgroup cols="3">
<thead>
<row>
<entry>Индекс</entry>
<entry>Обозначение</entry>
<entry>Допустимые значения*</entry>
</row>
</thead>
<tbody>
<row>
<entry>crypt</entry>
<entry>Список значений для объявления методов шифрования. Значения разделяют запятой и указывают в порядке убывания приоритета.</entry>
<entry>
<literal>rijndael-cbc@lysator.liu.se</literal>,
<literal>aes256-cbc</literal>,
<literal>aes192-cbc</literal>,
<literal>aes128-cbc</literal>,
<literal>3des-cbc</literal>,
<literal>blowfish-cbc</literal>,
<literal>cast128-cbc</literal>,
<literal>arcfour</literal>
и <literal>none**</literal>
</entry>
</row>
<row>
<entry>comp</entry>
<entry>Список методов для объявления способов сжатия. Значения разделяют запятой и указывают в порядке убывания приоритета.</entry>
<entry>
<literal>zlib</literal>
и <literal>none</literal>
</entry>
</row>
<row>
<entry>mac</entry>
<entry>Список методов для объявления способа вычисления MAC. Значения разделяют запятой и указывают в порядке убывания приоритета.</entry>
<entry>
<literal>hmac-sha1</literal>,
<literal>hmac-sha1-96</literal>,
<literal>hmac-ripemd160</literal>,
<literal>hmac-ripemd160@openssh.com</literal>
и <literal>none**</literal>
</entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<title>Значение "<literal>none</literal>" вместо алгоритма шифрования и способа вычисления MAC</title>
<simpara>
В библиотеке <link xlink:href="&url.libssh2;">libssh2</link>, на базе которой работает PHP-модуль SSH2,
поддержку значения <literal>none</literal> преднамеренно отключают по соображениям безопасности.
Поддержку значения добавляют на этапе сборки: указывают в команде ./configure параметр, который включает поддержку значения.
Дополнительную информацию даёт документация к базовой библиотеке.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>callbacks</parameter></term>
<listitem>
<para>
Параметр <parameter>callbacks</parameter> — ассоциативный массив,
который содержит один или все следующие параметры:
<table>
<title>
Параметры callback-функции
</title>
<tgroup cols="3">
<thead>
<row>
<entry>Индекс</entry>
<entry>Обозначение</entry>
<entry>Прототип</entry>
</row>
</thead>
<tbody>
<row>
<entry>ignore</entry>
<entry>
Название функции для вызова при получении пакета
<constant>SSH2_MSG_IGNORE</constant>
</entry>
<entry>void ignore_cb($message)</entry>
</row>
<row>
<entry>debug</entry>
<entry>
Название функции для вызова при получении пакета
<constant>SSH2_MSG_DEBUG</constant>
</entry>
<entry>void debug_cb($message, $language, $always_display)</entry>
</row>
<row>
<entry>macerror</entry>
<entry>
Название функции для вызова при получении пакета
с неправильным кодом аутентификации сообщения (англ. Message Authentication Code, сокр. MAC).
При возврате из callback-функции значения &true; несоответствие MAC игнорируется,
иначе соединение обрывается.
</entry>
<entry>bool macerror_cb($packet)</entry>
</row>
<row>
<entry>disconnect</entry>
<entry>
Название функции для вызова при получении пакета
<constant>SSH2_MSG_DISCONNECT</constant>
</entry>
<entry>void disconnect_cb($reason, $message, $language)</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
Функция возвращает ресурс, если выполнилась успешно, или &false;, если возникла ошибка.
</simpara>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Пример установки соединения функцией <function>ssh2_connect</function></title>
<simpara>
Пример открывает соединение со следующими настройками: при отправке шифровать пакеты по алгоритму 3DES-CBC,
принимать пакеты с AES-шифром произвольной стойкости, не применять сжатие в обоих направлениях
и обмениваться ключами по спецификации Group1.
</simpara>
<programlisting role="php">
<![CDATA[
<?php
/* Уведомляет пользователя о разрыве соединения сервером */
function my_ssh_disconnect($reason, $message, $language)
{
printf(
"Сервер отключился с кодом причины [%d] и сообщением: %s\n",
$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('Невозможно установить соединение');
}
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>ssh2_fingerprint</function></member>
<member><function>ssh2_auth_none</function></member>
<member><function>ssh2_auth_password</function></member>
<member><function>ssh2_auth_pubkey</function></member>
<member><function>ssh2_auth_pubkey_file</function></member>
<member><function>ssh2_disconnect</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->