Linux/Unix Shell Scripting - Comando para ejecutar un script en Raspberry desde terminal Linux

 
Vista:
sin imagen de perfil

Comando para ejecutar un script en Raspberry desde terminal Linux

Publicado por mario (2 intervenciones) el 09/06/2018 21:44:07
Hola a toda la Web del programador!! , Por favor necesito ayuda sobre un comando que debe de ser muy sencillo pero no encuentro nada de información en la red de como llevarlo a cabo y me estoy volviendo loco.

Necesito realizar un script que sea capaz de ejecutar tareas en linux (ubuntu) para posteriormente conectarse a una Raspberry mediante SSH y ejecutar un determinado script dentro de la raspberry y al terminar volver al entorno de ubuntu.

Puede parecer lioso pero es sencillo, pongo un ejemplo:

En linux he creado un script llamada "prueba.sh" que contiene lo siguiente:

1
2
#!/bin/bash
Sshpass -p contraseña1 ssh pi@192.168.1.40

Con esto lo que hago es acceder a la Raspberry sin que me pida el password, hasta ahí bien.

Pero una vez dentro de la conexión con la Raspberry no consigo desencadenar los siguientes comandos del script, en este caso he intentado mandarle el comando para que se actualice nada mas entrar:

1
2
3
4
#!/bin/bash
sshpass -p contraseña1 ssh pi@192.168.1.40
sudo apt-get update
exit ssh

He probado colocando "&&" o colocando "echo" delante de las instrucciones pero no funciona.

La idea es que con un mismo script desde linux poder enviar ficheros a la raspberry y ademas ejecutar comandos dentro para hacerlo todo de forma automatizada.

No se si lo mas correcto seria usar protocolo SCP, ya que desde windows con el programa WinSCP si que conseguía realizar estas tareas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Comando para ejecutar un script en Raspberry desde terminal Linux

Publicado por mario (2 intervenciones) el 10/06/2018 22:00:04
He encontrado la solución, me autocontesto:

La primera forma es de manera directa

1
sshpass -p contraseña ssh pi@192.168.1.40 "cd home/usuario/; tar xzvf carpetacomprimida.tgz "


El segundo método que es el que más me gusta es creando previamente un script .sh ejecutable que tendrá una serie de comandos, por ejemplo:

script_mandar.sh

1
2
3
4
cd /home/usuario/
tar xzvf carpetacomprimida.tgz.tar
sudo rm carpeta comprimida.tgz.tar
exit ssh

y ahora con este comando lanzo el script en la raspberry de manera automática y en menos de 5 segundos realiza todas las tareas.
1
sshpass -p contraseña ssh pi@192.168.1.40 "$(<script_mandar.sh)"

Espero que le pueda servir a alguien más.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Comando para ejecutar un script en Raspberry desde terminal Linux

Publicado por xve (309 intervenciones) el 11/06/2018 07:48:55
Gracias por compartirlo Mario!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 50
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Comando para ejecutar un script en Raspberry desde terminal Linux

Publicado por caic (99 intervenciones) el 11/06/2018 10:01:13
Hola,

Muchas gracias por compartir tu solución.

Otra cosa que podrías hacer es realizar un intercambio de claves para poder conectarse sin contraseña. Si googleas "ssh sin contraseñas" te saldrán miles de tutoriales de cómo hacerlo.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar