CXXVIII. Secure Shell2 Functions

简介

Bindings to the libssh2 library which provide access to resources (shell, remote exec, tunneling, file transfer) on a remote machine using a secure cryptographic transport.

安装

Windows binaries may be found at http://snaps.php.net/. To install, download php_ssh2.dll to the folder specified by your php.ini file's extension_dir directive. Enable it by adding extension=php_ssh2.dll to your php.ini and restarting your webserver.

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

Linux, BSD, and other *nix variants can be compiled using the following steps:

  • Download and install OpenSSL. If you install OpenSSL via your distribution's packaging system be sure to install the development libraries as well. This will typically be a package named openssl-dev, openssl_devel, or some variation thereof.

  • Download and install libssh2. Typically this means executing the following command from the libssh2 source tree. ./configure && make all install.

  • Run the pear installer for PECL/ssh2: pear install ssh2

  • Copy ssh2.so from the directory indicated by the build process to the location specified in your php.ini file under extension_dir.

  • Add extension=ssh2.so to your php.ini

  • Restart your webserver to reload your php.ini settings.

Development Versions: There are currently no stable versions of PECL/ssh2, to force installation of the beta version of PECL/ssh2 execute: pear install ssh2-beta

Compiling PECL/ssh2 without using the PEAR command: Rather than using pear install ssh2 to automatically download and install PECL/ssh2, you may download the tarball from PECL. From the root of the unpacked tarball, run: phpize && ./configure --with-ssh2 && make to generate ssh2.so. Once built, continue the installation from step 4 above.

进一步信息例如新版本,下载,源程序,维护者信息以及更新日志可以在此找到: http://pecl.php.net/package/ssh2.

注: You will need version 0.4 or greater of the libssh2 library (possibly higher, see release notes).

预定义常量

以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。

SSH2_FINGERPRINT_MD5 (integer)

Flag to ssh2_fingerprint() requesting hostkey fingerprint as an MD5 hash.

SSH2_FINGERPRINT_SHA1 (integer)

Flag to ssh2_fingerprint() requesting hostkey fingerprint as an SHA1 hash.

SSH2_FINGERPRINT_HEX (integer)

Flag to ssh2_fingerprint() requesting hostkey fingerprint as a string of hexits.

SSH2_FINGERPRINT_RAW (integer)

Flag to ssh2_fingerprint() requesting hostkey fingerprint as a raw string of 8-bit characters.

SSH2_TERM_UNIT_CHARS (integer)

Flag to ssh2_shell() specifying that width and height are provided as character sizes.

SSH2_TERM_UNIT_PIXELS (integer)

Flag to ssh2_shell() specifying that width and height are provided in pixel units.

SSH2_DEFAULT_TERM_WIDTH (integer)

Default terminal width requested by ssh2_shell().

SSH2_DEFAULT_TERM_HEIGHT (integer)

Default terminal height requested by ssh2_shell().

SSH2_DEFAULT_TERM_UNIT (integer)

Default terminal units requested by ssh2_shell().

SSH2_STREAM_STDIO (integer)

Flag to ssh2_fetch_stream() requesting STDIO subchannel.

SSH2_STREAM_STDERR (integer)

Flag to ssh2_fetch_stream() requesting STDERR subchannel.

SSH2_DEFAULT_TERMINAL (string)

Default terminal type (e.g. vt102, ansi, xterm, vanilla) requested by ssh2_shell().

目录
ssh2_auth_hostbased_file --  Authenticate using a public hostkey
ssh2_auth_none --  Authenticate as "none"
ssh2_auth_password --  Authenticate over SSH using a plain password
ssh2_auth_pubkey_file --  Authenticate using a public key
ssh2_connect --  Connect to an SSH server
ssh2_exec --  Execute a command on a remote server
ssh2_fetch_stream --  Fetch an extended data stream
ssh2_fingerprint --  Retreive fingerprint of remote server
ssh2_methods_negotiated --  Return list of negotiated methods
ssh2_publickey_add --  Add an authorized publickey
ssh2_publickey_init --  Initialize Publickey subsystem
ssh2_publickey_list --  List currently authorized publickeys
ssh2_publickey_remove --  Remove an authorized publickey
ssh2_scp_recv --  Request a file via SCP
ssh2_scp_send --  Send a file via SCP
ssh2_sftp_lstat --  Stat a symbolic link
ssh2_sftp_mkdir --  Create a directory
ssh2_sftp_readlink --  Return the target of a symbolic link
ssh2_sftp_realpath --  Resolve the realpath of a provided path string
ssh2_sftp_rename --  Rename a remote file
ssh2_sftp_rmdir --  Remove a directory
ssh2_sftp_stat --  Stat a file on a remote filesystem
ssh2_sftp_symlink --  Create a symlink
ssh2_sftp_unlink --  Delete a file
ssh2_sftp --  Initialize SFTP subsystem
ssh2_shell --  Request an interactive shell
ssh2_tunnel --  Open a tunnel through a remote server