Manuel PHP
Précédent | Annexe L. Liste des protocoles supportés | Suivant

# Shell sécurisé 2

`ssh2.shell://` `ssh2.exec://` `ssh2.tunnel://` `ssh2.sftp://` `ssh2.scp://` PHP 4.3.0 et supérieur (PECL)

- `ssh2.shell://user:pass@example.com:22/xterm`

- `ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd`

- `ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14`

- `ssh2.sftp://user:pass@example.com:22/path/to/filename`

> Ce gestionnaire n'est pas activé par défaut : Pour utiliser le gestionnaire `ssh2.*://`, vous devez installer l'extension SSH2 disponible dans PECL.

En plus d'accepter les traditionnelles identifications via l'URI, le gestionnaire ssh2 réutilisera les connexions ouvertes en passant la ressource de connexion dans la partie hôte de l'URL.

Exemple L-5. Ouverture d'un flux depuis une connexion active

`<?php $session = ssh2_connect('example.com', 22); ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub', '/home/username/.ssh/id_rsa', 'secret'); $stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r'); ?>`

Tableau L-8. Résumé du gestionnaire

Attribut | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
--- | --- | --- | --- | --- | ---
Restreint par allow_url_fopen. | Oui | Oui | Oui | Oui | Oui
Permet la lecture | Oui | Oui | Oui | Oui | Oui
Permet l'écriture | Oui | Oui | Oui | Oui | Non
Permet l'ajout | Non | Non | Non | Oui (lorsque supporté par le serveur) | Non
Permet l'écriture et la lecture simultanément | Oui | Oui | Oui | Oui | Non
Supporte la fonction stat() | Non | Non | Non | Oui | Non
Supporte la fonction unlink() | Non | Non | Non | Oui | Non
Supporte la fonction rename() | Non | Non | Non | Oui | Non
Supporte la fonction mkdir() | Non | Non | Non | Oui | Non
Supporte la fonction rmdir() | Non | Non | Non | Oui | Non

Tableau L-9. Options de contexte

Nom | Usage | Défaut
--- | --- | ---
session | ressource ssh2 pré-connectée pour être réutilisée |
sftp | ressource sftp pré-allouée pour être réutilisée |
methods | méthodes échange de clés, hostkey, cipher, compression et MAC à utiliser |
callbacks |  |
username | Nom de l'utilisateur pour la connexion |
password | Mot de passe à utiliser lors d'une identification via mot de passe |
pubkey_file | Nom du fichier contenant la clé publique à utiliser lors de l'identification |
privkey_file | Nom du fichier contenant la clé privé à utiliser lors de l'identification |
env | Tableau associatif de variables d'environnements à définir |
term | Type d'émulation de terminal à demander lors de l'allocation d'un pty |
term_width | Largeur du terminal à demander lors de l'allocation d'un pty |
term_height | Hauteur du terminal à demander lors de l'allocation d'un pty |
term_units | Unités à utiliser avec term_width et term_height | `SSH2_TERM_UNIT_CHARS`

Précédent | Sommaire | Suivant
Flux compressés | Niveau supérieur | Flux Audio