ssh2://

ssh2://Shell Seguro 2

Descrição

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

Nota: Este empacotador não é habilitado por padrão.
Para utilizar os empacotadores ssh2.*://, a extensão » SSH2 disponível em » PECL deve estar instalada.

Além de aceitar detalhes de login URI tradicionais, os empacotadores ssh2 também farão reúso de conexões abertas através da passagem do recurso da conexão na parte do host da URL.

Uso

  • ssh2.shell://usuario:senha@example.com:22/xterm
  • ssh2.exec://usuario:senha@example.com:22/usr/local/bin/algumcomando
  • ssh2.tunnel://usuario:senha@example.com:22/192.168.0.1:14
  • ssh2.sftp://usuario:senha@example.com:22/caminho/para/arquivo

Opções

Sumário do Empacotador
Atributossh2.shellssh2.execssh2.tunnelssh2.sftpssh2.scp
Restrito por allow_url_fopenSimSimSimSimSim
Permite LeituraSimSimSimSimSim
Permite EscritaSimSimSimSimNão
Permite AdiçãoNãoNãoNãoSim (quando suportado pelo servidor)Não
Permite Leitura e Escrita SimultâneasSimSimSimSimNão
Suporta stat()NãoNãoNãoSimNão
Suporta unlink()NãoNãoNãoSimNão
Suporta rename()NãoNãoNãoSimNão
Suporta mkdir()NãoNãoNãoSimNão
Suporta rmdir()NãoNãoNãoSimNão

Opções de contexto
NomeUsoPadrão
sessionRecurso ssh2 pré-conectado a ser reutilizado 
sftpRecurso sftp pré-alocado a ser reutilizado 
methodsMétodos de troca de chaves, de chave de host, de cifras, de compressão e de MAC a serem usados 
callbacks  
usernameNome de usuário a ser conectado 
passwordSenha a ser usada com a autenticação 
pubkey_fileNome do arquivo de chave pública a ser usado com a autenticação 
privkey_fileNome do arquivo de chave privada a ser usado com a autenticação 
envArray associativo de variáveis de ambiente a ser configurado 
termTipo de emulação de terminal a ser requisitado quando da alocação de um pty 
term_widthLargura do terminal requisitado quando da alocação de um pty 
term_heightAltura do terminal requisitado quando da alocação de um pty 
term_unitsUnidadem usadas em term_width e term_heightSSH2_TERM_UNIT_CHARS

Exemplos

Exemplo #1 Abrindo um fluxo para conexão ativa

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

Exemplo #2 Esta variável $session deve ser mantida disponível!

Para usar os empacotadores ssh2.*://$session, a variável de recurso $session deve ser mantida. O código abaixo não terá o efeito desejado:

<?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() fecha a sessão, porque $connection_string não contém uma referência à variável $session, somente uma string convertida derivada dela. Isto também acontece quando a função unset() está implícita devido a uma saída de escopo (como em uma função).

To Top