ssh2_connect SSH サーバーに接続する &reftitle.description; resourcefalsessh2_connect stringhost intport22 arraymethods arraycallbacks リモートの SSH サーバーとの接続を確立します。 一度接続すると、クライアントは ssh2_fingerprint を使用してサーバーのホスト鍵を検証し、 パスワードもしくは公開鍵を使用して認証します。 &reftitle.parameters; host port methods methods は以下に示された4つのパラメータを持つ連想配列です。 <parameter>methods</parameter> は以下のパラメータのいくつかあるいは全てを含む連想配列 インデックス 意味 サポートする値* kex 通知する鍵交換メソッドのリスト。優先する順にカンマ区切りにする。 diffie-hellman-group1-sha1diffie-hellman-group14-sha1 および diffie-hellman-group-exchange-sha1 hostkey 通知するホスト鍵メソッドのリスト。優先する順にカンマ区切りにする。 ssh-rsa および ssh-dss client_to_server クライアントからサーバーに送信されるメッセージのために優先する暗号化、 圧縮、メッセージ認証コード (MAC) メソッドを含む連想配列。 server_to_client サーバーからクライアントに送信されるメッセージのために優先する暗号化、 圧縮、メッセージ認証コード (MAC) メソッドを含む連想配列。
* - サポートする値は、 構成するライブラリがサポートしているメソッドに依存します。 追加情報については libssh2 ドキュメントを参照ください。 <parameter>client_to_server</parameter> と <parameter>server_to_client</parameter> は以下のパラメータのいくつかあるいは全てを含む連想配列 インデックス 意味 サポートする値* crypt 通知する暗号化メソッドのリスト。 優先する順にカンマ区切りにする。 rijndael-cbc@lysator.liu.seaes256-cbcaes192-cbcaes128-cbc3des-cbcblowfish-cbccast128-cbcarcfour および none** comp 通知する圧縮メソッドのリスト。 優先する順にカンマ区切りにする。 zlib および none mac 通知する MAC メソッドのリスト。 優先する順にカンマ区切りにする。 hmac-sha1hmac-sha1-96hmac-ripemd160hmac-ripemd160@openssh.com および none**
暗号化、MAC メソッドの "<literal>none</literal>" セキュリティ上の問題で、none は ビルド時に適切な ./configure オプションを使用して明示的に有効にしない限り、構成している libssh2 によって無効にされます。 詳細は構成するライブラリのドキュメントを参照ください。
callbacks callbacks は以下のパラメータのいくつかあるいは全てを含む連想配列 コールバックパラメータ インデックス 意味 プロトタイプ ignore SSH2_MSG_IGNORE パケットを受信したときにコールする関数名 void ignore_cb($message) debug SSH2_MSG_DEBUG パケットを受信したときにコールする関数名 void debug_cb($message, $language, $always_display) macerror パケットを受信したがメッセージ認証コードに失敗した場合にコールされる関数名。 もしコールバックが &true; を返す場合、不整合は無視されます。 そうでない場合、接続は終了します。 bool macerror_cb($packet) disconnect SSH2_MSG_DISCONNECT パケットを受信したときにコールする関数名 void disconnect_cb($reason, $message, $language)
&reftitle.returnvalues; 成功した場合にリソース、エラー時に &false; を返します。 &reftitle.examples; <function>ssh2_connect</function> の例 パケット送信時に 3des-cbc 、 パケット受信時に任意の強度の aes cipher、 両方向で無圧縮、 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('Connection failed'); ?> ]]> &reftitle.seealso; ssh2_fingerprint ssh2_auth_none ssh2_auth_password ssh2_auth_pubkey_file ssh2_disconnect