Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Gambas Y Comandos Via Ssh (SOLUCIONADO)
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Gambas Y Comandos Via Ssh (SOLUCIONADO) 
 
Hola a todos, llevaba bastante tiempo sin visitar el foro por cuestiones personales, pero aquí estoy otra vez.. y que mejor que haciendo una preguntita...

El tema es el siguiente, tengo que crear una aplicación para conectarme a otro equipo mediante ssh, esos equipos llevan otra tarjeta de red con una ip fija y es igual en todos, al igual que el usuario y la contraseña, por lo que el comando para conectarme por ssh lo tengo sencillo, pero bien el tema es que si existe una manera para que cuando lance la conexión, esa conexión quede latente de fondo, hasta que yo desee desconectarme. Bien, una vez conectado, ese sistema tiene una serie de aplicaciones propias las cuales devuelven unos valores, entonces el interés que tengo es que al presionar un botón, a través de la conexión ssh se ejecute la aplicación y la salida de la misma, volcarla sin mas en un textarea.

La verdad es que he estado leyendo por distintos sitios y no tengo mucha idea de por donde cojerlo. Como lo veis? Es factible?

Saludos y desde ya, muchas gracias.
 



 
última edición por Pablo-GNU el Jueves, 24 Junio 2010, 21:16; editado 1 vez 
Pablo-GNU - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
Bueno, he conseguido conectar, lo que no se es si funciona de fondo, segun netstat si voy revisando las conexiones, la conexion la establece... pero el tema es que no se como redirijir la salida y la entrada todo junto a un TextArea,

PUBLIC conexion AS Process

PUBLIC SUB _new()


END

PUBLIC SUB Form_Open()

END

PUBLIC SUB Button1_Click()

conexion = EXEC ["ssh", "-l", "javier", "192.168.1.92"] FOR READ WRITE


END

PUBLIC SUB Button2_Click()

WRITE #conexion, "ls"
LINE INPUT #conexion, TextArea1.Text

END


La ultima accion en el boton 2 me devuelve error de End Of File, no se como seguir de ahi en adelante, lo que me gustaria es en el AreaText tener todo, tanto el establecimiento de la conexion como las preguntas que les realizo y las respuestas.. creeis que sea posible?
 



 
Pablo-GNU - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
Mira a meter los datos del textarea en una variable y cada vez que hagas algo que ese algo se sume a la variable y lo ponga en la text area.

En un modulo (en este caso lo llamo MComun) haces esto:
PUBLIC info AS String
 


Y luego en el archivo cada vez que hagas una pregunta:

DIM pregunta AS String

MComun.Info = TextArea1
'ahora la variable info del modulo MComun, contiene los datos del text area

pregunta = 'aqui pones lo que sea que hace la pregunta

MComun.Info = MComun.Info + pregunta
'ahora la variable Info contiene lo que habia en el textArea mas la pregunta

TextArea1 = MComun.Info
'con esta linea en el textarea nos sale lo que habia mas lo nuevo.
 


Para poner la respuesta pues yo diria que lo mismo pero en vez de usar la variable pregunta llamala respuesta o llamalas como a ti te guste. Y si te lo piensas un poco podras meter los datos de entrada y salida todos en una variable que al sumarla a la del modulo (que contendra los datos del textarea) lograras todo junto.
 




===================
The best open source software in CaosG
 
última edición por Emmet el Miercoles, 23 Junio 2010, 17:02; editado 1 vez 
Emmet - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
Hola, muchas gracias por tu respuesta, pero no entiendo bien como vinculas ese codigo a lo que yo planteo... Explicamelo con un poco mas de detalle por favor, yo lo que quiero es ir mostrando constantemente todo lo que me devuelve el proceso "conexion" dentro del textarea y ademas añadir lo que yo pregunte. Pero la verdad es que no se por donde cojerlo, seria mas o menos como hacer un pequeño "tty" dentro de gambas. No se si me explico. A excepcion que no usas comandos alegremente, si no que lo que haces es meterle los pre-establecidos en unos botones.

Gracias.

EDITO:

Ya lo he metido como me has dicho dentro de mi codigo, y lo que consigo es un "Wanted Float, Got TextArea Instead" y no pasa de ahi.. no se como seguirlo la verdad...
 



 
última edición por Pablo-GNU el Miercoles, 23 Junio 2010, 17:23; editado 1 vez 
Pablo-GNU - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
Ups ese codigo tenia una cosa mal, pero mira con este que es mas sencillito.

Veamos, yo en uno de mis proyectos tengo algo parecido a lo que tu planteas, me refiero a lo de que las cosas vayan apareciendo en un TextArea y veamos a ver si me entiendes ahora.

En primer lugar seria crear una variable comun para guardar los datos que ya existen en el TextArea (variable info del codigo de arriba).

Y luego poner lo que tu ejecutas por medio de ssh en otra variable, la cual sumariamos a la variable con el contenido del textarea y finalmente lo mostrariamos.

Por otra parte cogerias en una variable la respuesta del ssh, la cual se sumaria tambien a la del textarea, y por ultimo se mostraria en el.

Las variables deberian de ser String.

Veamos, ahora te dejo un ejemplo practico, algo sencillo (almenos eso creo):

PUBLIC SUB Preguntar_Click()

DIM pregunta, respuesta AS String
pregunta = 'donde quiera que estea lo que preguntas

'aqui mas o menos pondrias lo de que se pregunte al ssh, desconozco como funciona el ssh, por lo que eso es todo tuyo.

respuesta = 'la respuesta del ssh, cosa que debes mirar de obtenerla de algun modo

TextArea1.Text = TextArea1.Text + pregunta + respuesta 'no estoy seguro de que funcione, si no lo hace ponlo como si fuese con la variable info del modulo.
'si funciona, no necesitas el modulo para nada.
END
 


Aqui te digo unica y exclusivamente como hacer que la pregunta y la respuesta aparezcan en el textarea, pero no te digo como obtenerlas, eso sera para alguien que sepa mas de ssh que yo.
 




===================
The best open source software in CaosG
 
última edición por Emmet el Miercoles, 23 Junio 2010, 17:35; editado 2 veces 
Emmet - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
Muchas Gracias! Lo que me planteas esta bien para mostrarlo, pero claro, la duda que tengo es como obtener la respuesta del ssh, porque lo que yo no se es como leer constantemente un proceso...

Osea, yo ejecuto el el comando y lo guardo en el proceso de la manera que he dicho antes:

conexion = EXEC ["ssh", "-l", "javier", "192.168.1.92"] FOR READ WRITE
 


Y creo que para escribir algo a ese proceso abierto lo hago de esta manera:

WRITE #conexion, "ls"


Pero claro mi pregunta es... como puedo ser capaz de leer lo que me muestra a la salida, que en este caso por lo que yo le envio tiene que ser una lista de directorios, para poder meterlo en un TextArea.

Gracias y a ver si alguien puede ayudarme.
 



 
Pablo-GNU - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
No se si te servira esto, pero a lo mejor te orienta un poco: Documentacion de Gambas :: Write
 




===================
The best open source software in CaosG
 
Emmet - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
Si la documentacion de Write la he leido y por eso creo que me sirve para escribir sobre el proceso, pero el problema es leer de ese proceso. Esa es la duda que tengo.. como leer los datos que me devuelve un proceso..

Gracias.
 



 
Pablo-GNU - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
Es que en la de Write he visto una funcion, Read, y bueno aqui esta: Documentacion de Gambas : Read
 




===================
The best open source software in CaosG
 
Emmet - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Gambas Y Comandos Via Ssh 
 
Yo ahora mismo soy un aprendiz (osease, que no he entendido lo de ssh), pero para leer puedes usar tambien el INPUT si no me equivoco no?
 



 
AnSnarkista - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Ejecutar Comandos Shell Desde Gambas Como ... Elena General 6 Viernes, 03 Febrero 2012, 03:30 Ver último mensaje
Agamenon
No hay nuevos mensajes Unir Varios Comandos Terminal Desde Gambas... atonidas Aplicaciones/Fragmentos de Código 5 Lunes, 11 Noviembre 2013, 22:12 Ver último mensaje
jguardon
No hay nuevos mensajes Abrir O Ejecutar Un Proyecto Gambas Desde ... Shell General 5 Lunes, 29 Febrero 2016, 19:48 Ver último mensaje
Shell
No hay nuevos mensajes Resumiendo: Mantener BBDD Con Comandos Gambas tincho Aplicaciones/Fragmentos de Código 18 Sabado, 04 Febrero 2017, 17:02 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron