Como ejecutar un script en Raspberry desde terminal Linux

Necesito la ayuda de algún experto ya que no encuentro la manera de hacer algo que debe de ser muy sencillo pero no encuentro nada de información en la red de como llevarlo a cabo.

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:

#!/bin/bash
Sshpass -p contraseña1 ssh [email protected]

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:

#!/bin/bash
sshpass -p contraseña1 ssh [email protected]
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.

Respuesta
1

Pruebe metiéndolo dentro de apóstrofe (comilla simple), sshpass -p contraseña ssh [email protected] 'sudo -i apt-get update' ; exit

Si no lo encuentra es ALT + 39

Hola Oriol, gracias por la ayuda, acabo de intentar lo de las comillas simples y no se loguea para acceder a la raspberry y me muestra este error:

stdin: is not a tty

Error opening terminal: unknown.

He intentado también varias combinaciones junto con las comillas sin resultado, es extraño que algo tan basico no se pueda hacer desde la terminal hacia un usuario remoto.

Saludos

Pruebe una cosa a ver, vaya al home del pi y en el ~/.ssh/config añada RequestTTY Yes

Hola ya he descubierto la forma de hacerlo después de leer decenas de foros en ingles, y ademas sé 2 métodos:

La primera forma es de manera directa

sshpass -p contraseña ssh [email protected] "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

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.

sshpass -p contraseña ssh [email protected] "$(<script_mandar.sh)"

Gracias por la ayuda y espero que le pueda servir a alguien más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas