Menú Principal

cliente ssh

Iniciado por CRTANONY, 7 Abril 2017, 17:37 PM

0 Miembros y 1 Visitante están viendo este tema.

CRTANONY

Hola Buen día a todos

Estoy tratando de hacer un cliente web para una conexión ssh en php, leyendo la documentación de php indica utilizar ssh2 y como requisito obligatorio tener las librerías OpenSSL y libssh2.

Al entrar a las páginas oficiales obtengo ambos archivos openssl-1.1.0e.tar.gz y libssh2-1.8.0.tar.gz

llegando a este punto desconozco que hacer para que php lo acepte, es decir que archivos agregar o compilar... alguién que pueda ayudar, esto es sobre windows

No es lo que te ocurre lo que cambia las cosas en tu vida, sino lo mas importante es lo que piensas acerca de lo que te sucede.

WHK

Para hacer un cliente ssh web vas a tener algunos inconvenientes, por ejemplo no basta solamente con poder conectarse a un servidor ssh, también tienes que interactuar en tiempo real
mientras la persona escribe el servidor puede enviar mensajes y mientra recibe mensajes debe ser capaz de enviar.

Lo que tu necesitas es un pipe en bash al ssh o un pipe ssh manipulando los procesos del sistema a menos que lo quieras hacer de manera directa utilizando otras librerías, pero tendrás problemas de compatibilidad entre las diferentes versiones.

Para lograr comunicarte con un servidor y poder enviar y recibir información en tiempo real necesitas utilizar websockets y procesos asyncronicos y en php te va a costar bastante hacerlo.

Resulta mucho mas fácil hacerlo en nodejs.

Ahora, ya existe algo similar, hay un complemento para Google Chrome el cual te da un bash con ssh y es compatible en linux, windows y mac:

https://chrome.google.com/webstore/detail/termius-ssh-client/fjcdjmmkgnkgihjnlbgcdamkadlkbmam?utm_source=chrome-ntp-icon
https://chrome.google.com/webstore/detail/rightscale-ssh/pfmkeekfkpfecccgbliieogmgmijklpm?utm_source=chrome-ntp-icon

Acá hay enlaces útiles:

http://kvz.io/blog/2007/07/24/make-ssh-connections-with-php/
http://php.net/manual/en/book.ssh2.php
http://socketo.me/
http://www.phpbuilder.com/articles/application-architecture/optimization/creating-real-time-applications-with-php-and-websockets.html
https://www.npmjs.com/package/simple-ssh
https://www.npmjs.com/package/node-ssh
https://www.npmjs.com/package/ssh-exec
https://www.npmjs.com/package/websocket
https://carlosazaustre.es/blog/websockets-como-utilizar-socket-io-en-tu-aplicacion-web/

Saludos.

CRTANONY

Gracias haré pruebas
No es lo que te ocurre lo que cambia las cosas en tu vida, sino lo mas importante es lo que piensas acerca de lo que te sucede.

CRTANONY

#3
Hola nuevamente, resulta que utilicé la librería phpseclib

Código (php) [Seleccionar]
set_include_path('C:\xampp\php\pear\phpseclib');
include('../../Complementos/SSH2/Net/SSH2.php');
$ssh  =  new Net_SSH2($host);
if (!$ssh->login($username, $pasword)) {
exit('Login Failed');
}


donde $username es root y la conexión es para SunOS 5.10, el problema esta en que me deja ejecutar comandos como ls, df -h pero al intentar hacer lo siguiente

Código (php) [Seleccionar]

echo $ssh->exec('su -');


me indica Permission denied a que se deberá no estoy muy familiarizado con el OS, esto es con la finalidad del cambio de contraseñas

Código (php) [Seleccionar]

echo $ssh->exec('su -');
echo $ssh->exec('password');
echo $ssh->exec('passwd '.$_POST['User']);
echo $ssh->exec($_POST['pass']);
echo $ssh->exec($_POST['confirm']);
echo $ssh->exec('passwd -f '.$_POST['User']);


al ejecutar esto ultimo obtengo

stty: : Invalid argument stty: : Invalid argument Enter Terminal Type: (default is 615):
ksh: password: not found Permission denied
ksh: password1: not found
ksh: password1: not found
passwd: password information changed for user


Saludos.
No es lo que te ocurre lo que cambia las cosas en tu vida, sino lo mas importante es lo que piensas acerca de lo que te sucede.