ssh2://

ssh2://Shell sécurisé 2

Description

ssh2.shell://ssh2.exec://ssh2.tunnel://ssh2.sftp://ssh2.scp:// (PECL)

Note: Cette enveloppe n'est pas activé par défaut
Pour utiliser l'enveloppe ssh2://, l'extension » SSH2 disponible sur » PECL doit être installée.

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

Utilisation

  • 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

Options

Résumé de l'enveloppe
Attributssh2.shellssh2.execssh2.tunnelssh2.sftpssh2.scp
Restreint par allow_url_fopenOuiOuiOuiOuiOui
Autorise la lectureOuiOuiOuiOuiOui
Autorise l'écritureOuiOuiOuiOuiNon
Autorise l'ajoutNonNonNonOui (lorsque supporté par le serveur)Non
Autorise la lecture et l'écriture simultanémentOuiOuiOuiOuiNon
Support de la fonction stat()NonNonNonOuiNon
Support de la fonction unlink()NonNonNonOuiNon
Support de la fonction rename()NonNonNonOuiNon
Support de la fonction mkdir()NonNonNonOuiNon
Support de la fonction rmdir()NonNonNonOuiNon

Options de contexte
NomUtilisationDéfaut
sessionressource ssh2 pré-connectée à réutiliser 
sftpressource sftp pré-allouée à réutiliser 
methodsméthodes d'é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 par mot de passe 
pubkey_fileNom du fichier contenant la clé publique à utiliser lors de l'identification 
privkey_fileNom du fichier contenant la clé privée à utiliser lors de l'identification 
envTableau associatif de variables d'environnement à 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

Exemples

Exemple #1 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');
?>

Exemple #2 La variable $session doit rester disponible !

Afin d'utiliser l'enveloppe ssh2.*://$session, la variable de ressource $session doit être conservée. Le code ci-dessous n'aura pas l'effet escompté :

<?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');
$connection_string = "ssh2.sftp://$session/";
unset(
$session);
$stream = fopen($connection_string . "path/to/file", 'r');
?>

La fonction unset() clôt la session, car la variable $connection_string ne contient pas de référence à la variable $session, mais uniquement une chaîne dérivée. Ceci survient également lorsque la fonction unset() est implicite, lors d'une sortie du scope (comme dans une fonction).

To Top