Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Telnet (Ejecutar Comandos En Un Servidor Unix Remoto) (SOLUCIÓN ALTERNATIVA)
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Telnet (Ejecutar Comandos En Un Servidor Unix Remoto) (SOLUCIÓN ALTERNATIVA) 
 
Hola a todos.

Quiero automatizar ciertos procesos que tengo en un servidor Unix, pero no tengo ni idea de cómo hacerlo desde gambas.

Lo que quiero es lanzar procesos desde mi Ubuntu con gambas a un servidor remoto Unix, del cual tengo su IP, usuario y contraseña.

Gracias por la ayuda.
 



 
última edición por dquinter el Lunes, 02 Abril 2012, 18:32; editado 1 vez 
dquinter - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Telnet (Ejecutar Comandos En Un Servidor Unix Remoto) 
 
Creo que lo mas sensato sería usar SSH. Puedes usar el shell para establecer la conexión y capturar las salidas del proceso como un socket cualquiera.

Si  necesitas mas detalles no dudes en preguntar, saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Telnet (Ejecutar Comandos En Un Servidor Unix Remoto) (SOLUCIÓN ALTERNATIVA) 
 
Hola, gracias por responder. El problema es que el servidor no tiene SSH.

Pero encontré una solución que le da la vuelta a mi problema.

Hay que instalar Expect:
Citar:
"Expect es una herramienta para automatizar aplicaciones interactivas usando un script. Mediante el script, Expect conoce lo que se espera del programa y cómo debería ser la respuesta correcta. Expect también es muy útil para probar esas aplicaciones. Y añadiendo Tk, puede contener aplicaciones interactivas en interfaces de usuario X11. Un lenguaje interpretado proporciona un control de alto nivel de ramificaciones y de estructuras para manejar el diálogo. Además, el usuario puede tomar el control e interactuar directamente cuando quiera, para después devolver el control al script."


Nota: Expect depende de Tcl.

Este es un script que hace lo que necesito (La solución original está aquí, en inglés):

Código: [Descargar] [Ocultar]
  1. #!/usr/bin/expect -f  
  2.  
  3. # this_script "address" "username" "password" "command"  
  4. # This command is used to hide the conversationn between the script and the other machine  
  5. log_user 0  
  6.  
  7. # Assign the first passed parameter while calling the script to $address  
  8. set address [lindex $argv 0]  
  9.  
  10. # Assign the 2nd passed parameter while calling the script to $username  
  11. set username [lindex $argv 1]  
  12.  
  13. # Assign the 3rd passed parameter while calling the script to $password  
  14. set password [lindex $argv 2]  
  15.  
  16. # Assign the 4th passed parameter while calling the script to $command  
  17. set command [lindex $argv 3]  
  18.  
  19. # Start the telnet session to machine with IP=$address  
  20. spawn telnet ${address}  
  21.  
  22. # Start conversation with the machine:  
  23. expect "login:"  
  24. send -- "${username}\r"  
  25. expect "Password:"  
  26. send -- "${password}\r"  
  27. expect "$ "  
  28.  
  29. # Declare the shell to be used (optional)  
  30. #send -- "#!/bin/ksh\r"  
  31. #expect "$ "  
  32.  
  33. # Execute the command  
  34. send -- "${command}\r"  
  35. expect "$ "  
  36.  
  37. # End the telnet session and exit the script  
  38. send -- "exit\r" 


Se graba como telnet_command, se le dan permisos de ejecución chmod +x telnet_command y se ejecuta de la siguiente manera:

telnet_command "dirección IP" "usuario" "contraseña" "comando"

Ejemplo:

Código: [Descargar] [Ocultar]
  1. $ ./telnet_command 10.94.232.83 mi_usuario mi_pass /home/mi_usuario/prueba.sh 


En gambas el código sería así:

Shell "~/mi_ruta/telnet_command 10.94.232.83 mi_usuario mi_pass /home/mi_usuario/prueba.sh" Wait


Espero que a alguien más le sirva.

Y de todos modos, si alguien tienen idea de hacerlo con puro código gambas, ésta será muy bien recibida.

Daniel
 



 
última edición por dquinter el Lunes, 02 Abril 2012, 18:33; editado 1 vez 
dquinter - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Telnet (Ejecutar Comandos En Un Servidor Unix Remoto) (SOLUCIÓN ALTERNATIVA) 
 
Bueno, no está mal la solución, aunque bastante insegura. Como sabes, toda la información trasmitida por telnet viaja sin encriptar, incluidas las contraseñas. Cualquiera podría ver esa información si se interviene la conexión.

Por eso lo de SSH...

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 1
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Localizar Imagenes En Servidor Remoto. Manuel General 4 Lunes, 19 Noviembre 2012, 02:37 Ver último mensaje
jousseph
No hay nuevos mensajes ¿Como Leer El Correo De Un Servidor Remot... tincho Mundo Linux 2 Sabado, 20 May 2017, 13:35 Ver último mensaje
Shell
No hay nuevos mensajes Ayuda Con Gambas Y Conexion A Un Servidor ... mcesar-87 Bases de Datos 2 Sabado, 26 Junio 2010, 14:07 Ver último mensaje
ahtonio
No hay nuevos mensajes Ejecutar Comandos Shell Desde Gambas Como ... Elena General 6 Viernes, 03 Febrero 2012, 03:30 Ver último mensaje
Agamenon
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

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
No puede descargar archivos
No puede publicar eventos en el calendario