CXLIV. 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 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.


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 from the directory indicated by the build process to the location specified in your php.ini file under extension_dir.

  • Add 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 Once built, continue the installation from step 4 above.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь:

Замечание: You will need version 0.4 or greater of the libssh2 library (possibly higher, see release notes).

Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.


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


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


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


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


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


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


Default terminal width requested by ssh2_shell().


Default terminal height requested by ssh2_shell().


Default terminal units requested by ssh2_shell().


Flag to ssh2_fetch_stream() requesting STDIO subchannel.


Flag to ssh2_fetch_stream() requesting STDERR subchannel.


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