Web aym.pekori.to

CXLVIII. Secure Shell2 関数

導入

安全な暗号化通信を使用したリモートマシン上にあるリソースへのアクセス手段 (シェル、リモート実行、トンネリング、ファイル転送) を提供する libssh2 のバインディングです。

インストール手順

Windows 用バイナリは http://snaps.php.net/ にあります。 インストールするには php_ssh2.dll を php.ini ファイルの extension_dir ディレクティブで指定されたフォルダに ダウンロードしてください。そして php.ini に extension=php_ssh2.dll を追加し、 Web サーバを再起動して有効にしてください。

extension_dir=c:/php5/exts/
extension=php_ssh2.dll

Linux, BSD, あるいは他の *nix 系 では以下の手順でコンパイルすることができます:

  • OpenSSL をダウンロードしインストールします。 もしディストリビューションのパッケージングシステム経由で OpenSSL をインストールする場合、開発用ライブラリもインストールしてください。 これは典型的には openssl-devopenssl_devel、 もしくはいくつかのバリエーションで名前付けされたパッケージです。

  • libssh2 をダウンロードしインストールします。典型的には libssh2 のソースツリーから次のコマンドを実行することを意味します。 ./configure && make all install

  • PECL/ssh2 のために PEAR インストーラを実行します: pear install ssh2

  • ビルドプロセスが示したディレクトリから php.ini ファイルの extension_dir で指定された場所に ssh2.so をコピーします。

  • php.ini に extension=ssh2.so を追加します。

  • php.ini の設定を再読込させるため、Web サーバを再起動します。

開発バージョン: 現時点では PECL/ssh2 の 安定 バージョンはありません。 PECL/ssh2 の ベータ バージョンをインストールするには次を実行してください: pear install ssh2-beta

PEAR コマンドを使用しないで PECL/ssh2 をコンパイルする: 自動的に PECL/ssh2 をダウンロード、インストールする pear install ssh2 を使用するよりもむしろ PECL から tarball をダウンロードしても良いです。 展開した tarball のルートから ssh2.so を生成するには次を実行します: phpize && ./configure --with-ssh2 && make 生成した後、上記のステップ 4 からインストールを続けてください。

この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 http://pecl.php.net/package/ssh2.

注意: libssh2 ライブラリのバージョン 0.4 もしくはそれ以降が必要です (ひょっとするともっと新しいかも知れませんので、 リリースノートを参照してください) 。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

SSH2_FINGERPRINT_MD5 (integer)

ホスト鍵のフィンガープリントを MD5 ハッシュとして要求する ssh2_fingerprint() 用フラグ

SSH2_FINGERPRINT_SHA1 (integer)

ホスト鍵のフィンガープリントを SHA1 ハッシュとして要求する ssh2_fingerprint() 用フラグ

SSH2_FINGERPRINT_HEX (integer)

ホスト鍵のフィンガープリントを 16 進法の文字列として要求する ssh2_fingerprint() 用フラグ

SSH2_FINGERPRINT_RAW (integer)

ホスト鍵のフィンガープリントを 8 ビットキャラクタの文字列として要求する ssh2_fingerprint() 用フラグ

SSH2_TERM_UNIT_CHARS (integer)

文字単位で 高さ を指定するための ssh2_shell() 用フラグ

SSH2_TERM_UNIT_PIXELS (integer)

ピクセル単位で 高さ を指定するための ssh2_shell() 用フラグ

SSH2_DEFAULT_TERM_WIDTH (integer)

ssh2_shell() で要求されるデフォルトのターミナル幅

SSH2_DEFAULT_TERM_HEIGHT (integer)

ssh2_shell() で要求されるデフォルトのターミナル高さ

SSH2_DEFAULT_TERM_UNIT (integer)

ssh2_shell() で要求されるデフォルトのターミナル単位

SSH2_STREAM_STDIO (integer)

STDIO サブチャネルを要求する ssh2_fetch_stream() 用フラグ

SSH2_STREAM_STDERR (integer)

STDERR サブチャネルを要求する ssh2_fetch_stream() 用フラグ

SSH2_DEFAULT_TERMINAL (string)

ssh2_shell() によって要求される デフォルトのターミナル型 (例えば vt102, ansi, xterm, vanilla)

目次
ssh2_auth_hostbased_file --  ホスト公開鍵使用して認証を行う
ssh2_auth_none --  "none" として認証する
ssh2_auth_password --  SSH 上でプレーンなパスワードを使用した認証を行う
ssh2_auth_pubkey_file --  公開鍵を使用した認証を行う
ssh2_connect --  SSH サーバに接続する
ssh2_exec --  リモートサーバ上でコマンドを実行する
ssh2_fetch_stream --  拡張データストリームを取得する
ssh2_fingerprint --  リモートサーバのフィンガープリントを処理する
ssh2_methods_negotiated --  ネゴシエートされたメソッドのリストを返す
ssh2_publickey_add --  認証済み公開鍵を追加する
ssh2_publickey_init --  公開鍵サブシステムを初期化する
ssh2_publickey_list --  現在認証済みの公開鍵の一覧を表示する
ssh2_publickey_remove --  認証済み公開鍵を取り除く
ssh2_scp_recv --  SCP 経由でファイルを要求する
ssh2_scp_send --  SCP 経由でファイルを送信する
ssh2_sftp_lstat --  シンボリックリンクの情報を取得する
ssh2_sftp_mkdir --  ディレクトリを作成する
ssh2_sftp_readlink --  シンボリックリンクのターゲットを返す
ssh2_sftp_realpath --  指定されたパス文字列の実パスを解決する
ssh2_sftp_rename --  リモートファイルを改名する
ssh2_sftp_rmdir --  ディレクトリを削除する
ssh2_sftp_stat --  リモートファイルシステム上のファイルの情報を取得する
ssh2_sftp_symlink --  シンボリックリンクを作成する
ssh2_sftp_unlink --  ファイルを削除する
ssh2_sftp --  SFTP サブシステムを初期化する
ssh2_shell --  対話式のシェルを要求する
ssh2_tunnel --  リモートサーバを経由するトンネルをオープンする