CLVIII. Shell2 sécurisé

Introduction

La liaison à la bibliothèque » libssh2 fournit un accès à des ressources (shell, exécution distante, tunneling, transfert de fichiers) sur une machine distante en utilisant un transport crypté sécurisé.

Installation

Les binaires Windows peuvent être trouvés sur » http://snaps.php.net/ . Pour l'installation, téléchargez php_ssh2.dll dans le dossier spécifié par votre directive extension_dir du fichier php.ini. Activez-le en ajoutant extension=php_ssh2.dll dans votre fichier php.ini et redémarrez votre serveur web.


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

 

Linux, BSD, et autres variantes *nix peuvent compiler cette extension en suivant les étapes suivantes :

  • Téléchargez et installez » OpenSSL . Si vous installez OpenSSL via le système de paquetages de votre distribution, assurez-vous d'installer également les bibliothèques de développement. Elles seront typiquement paquetées sous le nom openssl-dev , openssl_devel , ou quelque chose comme cela.
  • Téléchargez et installez » libssh2 . Typiquement, cela signifie d'exécuter les commandes suivantes depuis les fichiers sources libssh2 : ./configure && make all install .
  • Exécutez l'installeur Pear depuis PECL/ssh2: pear install ssh2
  • Copiez le fichier ssh2.so depuis le dossier indiqué par le processus de compilation dans le dossier spécifié à l'intérieur du fichier spécifié par votre fichier php.ini, extension_dir .
  • Ajoutez extension=ssh2.so dans votre php.ini.
  • Redémarrez votre serveur web pour recharger votre configuration php.ini.

Versions de développement: Il n'y a actuellement aucune version stable de PECL/ssh2, pour forcer l'installation d'une version beta de PECL/ssh2, exécutez : pear install ssh2- beta

Compiler PECL/ssh2 sans utiliser les commandes PEAR

Plutôt que d'utiliser pear install ssh2 pour automatiquement télécharger et installer PECL/ssh2, vous pouvez télécharger l'archive depuis » PECL . Depuis la racine de l'archive décompressée, exécutez : phpize && ./configure --with-ssh2 && make pour générer ssh2.so . Une fois compilé, continuez l'installation depuis l'étape 4 ci-dessus.

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL . D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/ssh2 .

Note: Vous avez besoin de la version 0.4 ou supérieure de la bibliothèque libssh2 (ou supérieure, lisez les notes de versions).

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

SSH2_FINGERPRINT_MD5 (integer )
Flag permettant à la fonction ssh2_fingerprint() de demander l'empreinte de la clé de l'hôte en tant que hash MD5.
SSH2_FINGERPRINT_SHA1 (integer )
Flag permettant à la fonction ssh2_fingerprint() de demander l'empreinte de la clé de l'hôte en tant que hash SHA1.
SSH2_FINGERPRINT_HEX (integer )
Flag permettant à la fonction ssh2_fingerprint() de demander l'empreinte de la clé de l'hôte en tant que chaîne hexits.
SSH2_FINGERPRINT_RAW (integer )
Flag permettant à la fonction ssh2_fingerprint() de demander l'empreinte de la clé de l'hôte en tant que chaîne de caractères 8-bit.
SSH2_TERM_UNIT_CHARS (integer )
Flag spécifiant à la fonction ssh2_shell() que les paramètres width et height sont fournis sous la forme de taille de caractères.
SSH2_TERM_UNIT_PIXELS (integer )
Flag spécifiant à la fonction ssh2_shell() que les paramètres width et height sont fournis sous la forme de pixels.
SSH2_DEFAULT_TERM_WIDTH (integer )
Largeur par défaut du terminal demandé par la fonction ssh2_shell() .
SSH2_DEFAULT_TERM_HEIGHT (integer )
Hauteur par défaut du terminal demandé par la fonction ssh2_shell() .
SSH2_DEFAULT_TERM_UNIT (integer )
Unité par défaut du terminal demandé par la fonction ssh2_shell() .
SSH2_STREAM_STDIO (integer )
Flag pour que la fonction ssh2_fetch_stream() demande un sous-canal STDIO.
SSH2_STREAM_STDERR (integer )
Flag pour que la fonction ssh2_fetch_stream() demande un sous-canal STDERR.
SSH2_DEFAULT_TERMINAL (string )
Type par défaut du terminal (e.g. vt102, ansi, xterm, vanilla) demandé par la fonction ssh2_shell() .

Table des matières

ssh2_auth_hostbased_file — Identification en utilisant une clé d'hôte publique
ssh2_auth_none — Identification en tant que "none"
ssh2_auth_password — Identification via SSH en utilisant un mot de passe en clair
ssh2_auth_pubkey_file — Identification en utilisant une clé publique
ssh2_connect — Connexion à un serveur SSH
ssh2_exec — Exécute une commande sur un serveur distant
ssh2_fetch_stream — Parcours un flux étendu de données
ssh2_fingerprint — Récupère l'empreinte d'un serveur distant
ssh2_methods_negotiated — Retourne une liste de méthodes négociées
ssh2_publickey_add — Ajoute une clé publique autorisée
ssh2_publickey_init — Initialise un Publickey Subsystem (sous-système de clé publique)
ssh2_publickey_list — Liste les clés publiques actuellement autorisées
ssh2_publickey_remove — Supprime un clé publique autorisée
ssh2_scp_recv — Demande un fichier via SCP
ssh2_scp_send — Envoie un fichier via SCP
ssh2_sftp_lstat — Statue un lien symbolique
ssh2_sftp_mkdir — Crée un dossier
ssh2_sftp_readlink — Retourne la cible d'un lien symbolique
ssh2_sftp_realpath — Résoud le chemin réel d'un chemin fourni
ssh2_sftp_rename — Renomme un fichier distant
ssh2_sftp_rmdir — Efface un dossier
ssh2_sftp_stat — Statue un fichier sur un système de fichiers distant
ssh2_sftp_symlink — Crée un lien symbolique
ssh2_sftp_unlink — Efface un fichier
ssh2_sftp — Initialise un sous-système SFTP
ssh2_shell — Demande un shell intéractif
ssh2_tunnel — Ouvre un tunnel à travers un serveur distant