Shell sécurisé 2

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

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

Attributssh2.shellssh2.execssh2.tunnelssh2.sftpssh2.scp
Restreint par allow_url_fopen.OuiOuiOuiOuiOui
Permet la lectureOuiOuiOuiOuiOui
Permet l'écritureOuiOuiOuiOuiNon
Permet l'ajoutNonNonNonOui (lorsque supporté par le serveur)Non
Permet l'écriture et la lecture simultanémentOuiOuiOuiOuiNon
Supporte la fonction stat()NonNonNonOuiNon
Supporte la fonction unlink()NonNonNonOuiNon
Supporte la fonction rename()NonNonNonOuiNon
Supporte la fonction mkdir()NonNonNonOuiNon
Supporte la fonction rmdir()NonNonNonOuiNon

Tableau L-9. Options de contexte

NomUsageDéfaut
sessionressource ssh2 pré-connectée pour être réutilisée 
sftpressource sftp pré-allouée pour être réutilisée 
methodsméthodes échange de clés, hostkey, cipher, compression et MAC à utiliser 
callbacks  
usernameNom de l'utilisateur pour la connexion 
passwordMot de passe à utiliser lors d'une identification via mot de passe 
pubkey_fileNom du fichier contenant la clé publique à utiliser lors de l'identification 
privkey_fileNom du fichier contenant la clé privé à utiliser lors de l'identification 
envTableau associatif de variables d'environnements à définir 
termType d'émulation de terminal à demander lors de l'allocation d'un pty 
term_widthLargeur du terminal à demander lors de l'allocation d'un pty 
term_heightHauteur du terminal à demander lors de l'allocation d'un pty 
term_unitsUnités à utiliser avec term_width et term_heightSSH2_TERM_UNIT_CHARS