Problema:Conexión "automática" a servidores corriendo OpenSSH en distintos puertos con diferentes usuarios,configuraciones y llaves.
Consejo: Edita el fichero ~/ssh/config tal y como se indica en este ejemplo:
Host dama
User powerslave
Port 666
Hostname iron.maiden.com
Host blindUser ozzy
Port 1024
Hostname crazy.train.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/ozzy_rsa
En la práctica:
ssh dama
Establecerá una conexión SSH al host iron.maiden. com en el puerto TCP 666
ssh blind
Establecerá una conexión SSH al host crazy.train.com en el puerto TCP 1024 usando la llave almacenada en ~/.ssh/ozzy_rsa
Problema:Ejecutar comandos en un servidor remoto.
Consejo: Recomiendo incluir el host en fichero ~/ssh/config
Ejemplo:
apermuy@vpn:~$ ssh apermuy@vps 'cat /proc/cpuinfo|grep model'
model : 6
model name : QEMU Virtual CPU version 0.9.1
Problema: Al intentar conectarnos a un servidor remoto recibimos el mensaje "WARNING: POSSIBLE DNS SPOOFING DETECTED! " y/o "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! "
Consejo: Como indica el propio mensaje "Alguien está haciendo algo malo...". Revisa tus llaves RSA/DSA, logs, accesos....
Ejemplo:
ssh-keygen -R vps.algunhost.org
Problema: Backup directorio con tar sobre ssh.
Consejo: No uses la opción verbose( -v). Incluye siempre que sea posible el host en el fichero ~/ssh/config
Ejemplo: Este ejemplo envía el contenido del directorio /tmp al server definido en ~/ssh/config y, lo empaqueta en tar y lo comprime con gzip.
tar zcf - /tmp | ssh apermuy@vps "cat > tmp.tgz"
Problema: No solicitar que se verifique un host desconocido.
root@vpn:/home/apermuy# ssh apermuy@vps
The authenticity of host 'vps.algunhost.org (111.111.222.333)' can't be established.
RSA key fingerprint is 2b:11:13:49:11:f9:72:71:28:67:51:2f:d7:2a:5d:6d.
Are you sure you want to continue connecting (yes/no)?
Ejemplo:
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
Problema: Compactar con tar al vuelo vía ssh hacia un host remoto.
Ejemplo:
tar zcf - /home/apermuy | ssh apermuy@111.222.333.444 "cat > /tmp/test.tar.gz"