Secure Shell2 関数
導入
安全な暗号化通信を使用したリモートマシン上にあるリソースへのアクセス手段 (シェル、リモート実行、トンネリング、ファイル転送) を提供する » libssh2 のバインディングです。
インストール手順
Windows 用バイナリは » https://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-dev や openssl_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 といった関連する情報については、次の場所にあります。 » https://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 — リモートサーバを経由するトンネルをオープンする