ssh2://

ssh2://Secure Shell 2

Descripción

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

Nota: Esta envoltura no está habilitada por omisión
Para poder usarse la envoltura ssh2.*:// debe instalarase la extensión » SSH2 disponible en » PECL.

Además de permitir hacer un login tradicional en la URI, la envoltura ssh2 también puede reutilizar las conexiones ya abiertas, proporcionando el recurso de conexión en el apartado host de la URL.

Uso

  • ssh2.shell://usuario:contraseña@ejemplo.com:22/xterm
  • ssh2.exec://usuario:contraseña@ejemplo.com:22/usr/local/bin/comando
  • ssh2.tunnel://usuario:contraseña@ejemplo.com:22/192.168.0.1:14
  • ssh2.sftp://usuario:contraseña@ejemplo.com:22/ruta/a/fichero

Opciones

Resumen de la Envoltura
Atributossh2.shellssh2.execssh2.tunnelssh2.sftpssh2.scp
Restringido por allow_url_fopen
Permite Lecturas
Permite EscriturasNo
Permite Añadir contenidosNoNoNoSí (cuando esté soportado por el servidor)No
Permite Lecturas y Escrituras SimultáneasNo
Permite usar la función stat()NoNoNoNo
Permite usar la función unlink()NoNoNoNo
Permite usar la función rename()NoNoNoNo
Permite usar la función mkdir()NoNoNoNo
Permite usar la función rmdir()NoNoNoNo

Opciones de contexto
NombreUsoValor por omisión
sessionRecurso ssh2 preconectado a utilizar 
sftpRecurso sftp preubicado a reutilizar 
methodsmétodos a usar de entre Key exchange, hostkey, cipher, compression, y MAC 
callbacks  
usernameNombre de usuario con el que conectar 
passwordContraseña a utilizar en autenticación con contraseña 
pubkey_fileNombre del fichero con la clave pública que se usará para autenticar 
privkey_fileNombre del fichero con la clave privada que se usará para autenticar 
envArray asociativo con las variables de entorno que se van a asignar 
termTipo de emulación del terminal a solicitar cuando se asigne un pty (pseudo terminal) 
term_widthAncho del terminal solicitado cuando se asigne un pty 
term_heightAltura del terminal solicitado cuando se asigne un pty 
term_unitsUnidades a usar con term_width y con term_heightSSH2_TERM_UNIT_CHARS

Ejemplos

Ejemplo #1 Abriendo un flujo a partir de una conexión activa

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

Ejemplo #2 ¡La variable $session debe permanecer disponible!

Para utilizar la envoltura ssh2.*://$session debe mantenerse el recurso $session disponible. El código siguiente no tendrá el efecto deseado:

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

unset() cierra la sesión, ya que $connection_string no contiene una referencia a la variable $session, simplemente una representación de la cadena derivada de ella. Esto también ocurre cuando unset() va implícito porque se sale del ámbito (como dentro de una función).

To Top