Função SSH2 no PHP

268 views
Skip to first unread message

Lucas Salies Brum

unread,
May 31, 2009, 10:48:31 AM5/31/09
to Lista PHPMS
Pessoal, tenho um script com essas linhas:

$conec = ssh2_connect($ip, $porta);
ssh2_auth_password($conec, $login, $senha);
$stream = ssh2_exec($conec, $comando);

Resultou nisso:
Fatal error: Call to undefined function ssh2_connect() in
/home/lucas/html/esportv/index.php on line 13

Como eu habilito essa extensão? Qual é a diferença da SSH pra SSH2?

Eu uso o Lighttpd + PHP + Ubuntu 9.04

Obrigado.

Zé Ricardo

unread,
May 31, 2009, 11:30:18 AM5/31/09
to ph...@googlegroups.com
Lucas a instalação é via PECL

http://www.php.net/manual/en/ssh2.installation.php

O link mostra as bibliotecas que você precisa instalar para funcionar,
além da extensão.

Mais sobre instalações via PECL:

http://www.php.net/manual/pt_BR/install.pecl.php


2009/5/31 Lucas Salies Brum <siste...@gmail.com>:

Jorge Vilela

unread,
May 31, 2009, 11:30:53 AM5/31/09
to ph...@googlegroups.com
Rapaz, nunca usei essa extensão, mas via de regra você pode dar uma olhada nos pacotes do APT e checar se existe alguma extensão pro ubuntu com nome php5-ssh2, mod-php5-ssh, libssh2-mod-php5.... Alguma coisa assim.

Roda o seguinte aí:
$ sudo apt-cache search php | grep ssh

Se ele achar alguma coisa assim, provavelmente é o que você precisa, instala restarta o apache e testa.

Jorge

2009/5/31 Lucas Salies Brum <siste...@gmail.com>

Jorge Vilela

unread,
May 31, 2009, 11:31:29 AM5/31/09
to ph...@googlegroups.com
Opa, esquece o apt-get então =]

2009/5/31 Zé Ricardo <zehz...@gmail.com>

Zé Ricardo

unread,
May 31, 2009, 11:33:23 AM5/31/09
to ph...@googlegroups.com
Eu dei uma olhada aqui no meu Ubuntu, acho que não tem o pacote pronto :(

2009/5/31 Jorge Vilela <jorge....@gmail.com>:

Humberto Pereira

unread,
May 31, 2009, 1:09:00 PM5/31/09
to ph...@googlegroups.com
Como o Ze Ricardo disse, vc tem que instalar via pecl.

No ubuntu vc tem que instalar o pacote php-pear.

# apt-get install php-pear

Depois disso vc tem que instalar o pacote pecl do ssh

# pecl search ssh
Retrieving data...0%Matched packages, channel pecl.php.net:
=======================================
Package Stable/(Latest) Local
ssh2 0.11.0 (beta) Bindings for the libssh2 library

Como a versao do pacote eh beta, vc tem que especificar a versao na
hora de instalar.

# pecl install ssh2-0.11.0

Lembrando que o pecl baixa o pacote e compila na sua maquina, entao vc
tem que ter as bibliotecas de desenvolvimento do php e da ssh2 pra
poder compilar (e obvio, precisa do gcc instalado).

Sobre a diferenca entre ssh1 e ssh2, ela esta no protocolo. SSHv1 foi
quebrada a muito tempo, entao mesmo criptografando os dados, um
atacante consegue quebrar a criptografia e ler os dados reais. SSHv2
ainda nao se tem conhecimento de ter sido quebrada.

[]s
Humberto Pereira


2009/5/31 Zé Ricardo <zehz...@gmail.com>:

Lucas Salies Brum

unread,
May 31, 2009, 10:14:20 PM5/31/09
to ph...@googlegroups.com
Humberto, quase isso, com esse comando eu não consegui!
Baixei o TGZ e instalei assim:

sudo pecl install ssh2-0.11.0.tgz

Muito obrigado pessoal, foi nobice minha =]

--
Lucas Saliés Brum
Linux User #456043

2009/5/31 Humberto Pereira <beg...@gmail.com>:


>
> Como o Ze Ricardo disse, vc tem que instalar via pecl.
>
> No ubuntu vc tem que instalar o pacote php-pear.
>
> # apt-get install php-pear
>
> Depois disso vc tem que instalar o pacote pecl do ssh
>
> # pecl search ssh
> Retrieving data...0%Matched packages, channel pecl.php.net:
> =======================================
> Package Stable/(Latest) Local
> ssh2    0.11.0 (beta)         Bindings for the libssh2 library
>
> Como a versao do pacote eh beta, vc tem que especificar a versao na
> hora de instalar.
>
> #
>

Reply all
Reply to author
Forward
0 new messages