ssh2://

ssh2://Secure Shell 2

Beschreibung

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

Hinweis: Dieser Wrapper ist standardmäßig nicht aktiviert
Um den Wrapper ssh2.*:// verwenden zu können, muss die » SSH2-Erweiterung von » PECL installiert werden

Neben den herkömmlichen URI-Anmeldedaten akzeptieren die ssh2-Wrapper auch eine im Host-Teil der URL übergebene Verbindungsressource, mit der offene Verbindungen wiederverwendet werden können.

Verwendung

  • 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

Optionen

Zusammenfassung des Wrappers
Eigenschaft ssh2.shell ssh2.exec ssh2.tunnel ssh2.sftp ssh2.scp
Eingeschränkt durch allow_url_fopen Ja Ja Ja Ja Ja
Erlaubt Lesen Ja Ja Ja Ja Ja
Erlaubt Schreiben Ja Ja Ja Ja Nein
Erlaubt Anfügen Nein Nein Nein Ja (falls vom Server unterstützt) Nein
Erlaubt gleichzeitiges Lesen und Schreiben Ja Ja Ja Ja Nein
Unterstützt stat() Nein Nein Nein Ja Nein
Unterstützt unlink() Nein Nein Nein Ja Nein
Unterstützt rename() Nein Nein Nein Ja Nein
Unterstützt mkdir() Nein Nein Nein Ja Nein
Unterstützt rmdir() Nein Nein Nein Ja Nein

Kontextoptionen
Name Verwendung Voreinstellung
session Vorab verbundene ssh2-Ressource, die wiederverwendet werden soll  
sftp Vorab zugewiesene sftp-Ressource, die wiederverwendet werden soll  
methods Schlüsselaustausch, Host-Schlüssel, Verschlüsselung, Komprimierung und MAC-Methoden, die verwendet werden sollen  
callbacks    
username Der Benutzername für die Verbindung  
password Das Passwort für die Authentifizierung  
pubkey_file Der Name der Datei, die den öffentlichen Schlüssel für die Authentifizierung enthält  
privkey_file Der Name der Datei, die den privaten Schlüssel für die Authentifizierung enthält  
env Ein assoziatives Array der zu setzenden Umgebungsvariablen  
term Der Typ der Terminalemulation, der bei der Zuweisung eines pty angefordert wird  
term_width Die Breite des Terminals, die bei der Zuweisung eines pty angefordert wird  
term_height Die Höhe des Terminals, die bei der Zuweisung eines pty angefordert wird  
term_units Die Einheiten, die für term_width und term_height verwendet werden sollen SSH2_TERM_UNIT_CHARS

Beispiele

Beispiel #1 Öffnen eines Streams aus einer aktiven Verbindung

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

Beispiel #2 Diese $session-Variable muss immer verfügbar sein!

Um die ssh2.*://$session-Wrapper verwenden zu können, muss die Ressourcenvariable $session erhalten bleiben. Der folgende Code hat nicht die gewünschte Wirkung:

<?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() schließt die Session, weil $connection_string keinen Verweis auf die Variable $session enthält, sondern nur eine von ihr abgeleitete Zeichenkette. Dies ist auch der Fall, wenn unset() implizit aufgerufen wird, weil der Gültigkeitsbereich verlassen wird (z. B. bei einer Funktion).