Scripts con SSH y SCP.¶
Para realizar las prácticas con ssh y scp se debe tener en cuenta:
- La máquina que ejecuta el script (Servidor) debe tener el paquete sshpass y ssh.
- El servidor debe tener instalado el paquete openssh-server.
- Los clientes deben tener instalado el paquete openssh-client.
SSH.¶
Estructura SSH
ssh usuario@IP Origen Destino
Vamos a utilizar este servicio para acceder a diferentes equipos, ejecutar comandos en ellos y recoger información de éstos.
Es importante tener en cuenta que estamos usando contraseñas en texto plano (sin cifrar) que es algo totalmente desaconsejado, al igual que acceder al usuario con "root". Para hacerlo realmente seguro habría que realizarlo con pares de claves (privada/pública) que veréis en el módulo de servicios/seguridad informática.
INFO
Si el usuario es el mismo en servidor y cliente no es necesario especificarlo.
Ejemplo 1. Acceder a una máquina y devolver la información de un comando.¶
Ejemplo 2. Acceder a una máquina y ejecutar varios comandos en el cliente.¶
Ejemplo 3. Ejecutar comandos en un cliente y guardar la información devuelta en un fichero en el servidor.¶
Ejemplo 4. Ejecutar comandos en un cliente y guardar la información devuelta en una variable.¶
SCP.¶
- Este servicio está pensado principalmente para transferir o recibir ficheros a/desde ordenadores remotos.
Estructura SCP
scp usuario@IP Origen Destino
Ejemplos
Usuario: root
Contraseña: salva
Cliente: 172.17.0.3
Ejemplo 1: Pasar un fichero a la carpeta /home/ad del equipo remoto 172.17.0.3¶
sshpass -p 'salva' scp hosts.txt 172.17.0.3:/home
Ejemplo 2: Recoger un fichero de un cliente y dejarlo en la carpeta actual del servidor.¶
sshpass -p 'salva' scp 172.17.0.3:/home/prueba.sh .
Ejemplo 3: Recoger un fichero de un cliente y dejarlo en la carpeta /home/salva de mi servidor.¶
sshpass -p 'salva' scp 172.17.0.3:/home/prueba.sh /home/salva