関数・クラス解説

ssh2_connect

version:PECL ssh2 >= 0.9.0 (公式)

SSH サーバーに接続する

公式リファレンス

書式

ssh2_connect ( string $host [, int $port = 22 [, array $methods [, array $callbacks ]]] ) : resource

説明

リモートの SSH サーバーとの接続を確立します。

一度接続すると、クライアントは ssh2_fingerprint() を使用してサーバーのホスト鍵を検証し、 パスワードもしくは公開鍵を使用して認証します。

パラメータ

host
port
methods
methods は以下に示された4つのパラメータを持つ連想配列です。
methods は以下のパラメータのいくつかあるいは全てを含む連想配列
インデックス 意味 サポートする値*
kex 通知する鍵交換メソッドのリスト。優先する順にカンマ区切りにする。 diffie-hellman-group1-sha1、 diffie-hellman-group14-sha1 および diffie-hellman-group-exchange-sha1
hostkey 通知するホスト鍵メソッドのリスト。優先する順にカンマ区切りにする。 ssh-rsa および ssh-dss
client_to_server クライアントからサーバーに送信されるメッセージのために優先する暗号化、 圧縮、メッセージ認証コード (MAC) メソッドを含む連想配列。  
server_to_client サーバーからクライアントに送信されるメッセージのために優先する暗号化、 圧縮、メッセージ認証コード (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 および none
mac 通知する MAC メソッドのリスト。 優先する順にカンマ区切りにする。 hmac-sha1、 hmac-sha1-96、 hmac-ripemd160、 hmac-ripemd160@openssh.com および none**
注意: 暗号化、MAC メソッドの "none" セキュリティ上の問題で、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)

返値

成功した場合にリソース、エラー時に FALSE を返します。

サンプル

例1 ssh2_connect() の例

パケット送信時に 3des-cbc 、 パケット受信時に任意の強度の aes cipher、 両方向で無圧縮、 Group1 での鍵交換という設定で強制的に接続をオープンします。

/* もしサーバーが接続を終了した場合、ユーザーに通知する */ function my_ssh_disconnect($reason, $message, $language) {   printf("Server disconnected with reason code [%d] and message: %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('Connection failed');

参考

  • ssh2_fingerprint() - リモートサーバーのフィンガープリントを処理する
  • ssh2_auth_none() - "none" として認証する
  • ssh2_auth_password() - SSH 上でプレーンなパスワードを使用した認証を行う
  • ssh2_auth_pubkey_file() - 公開鍵を使用した認証を行う
  • ssh2_disconnect() - Close a connection to a remote SSH server
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール