Las conexión SSH permite realizar comunicaciónes cifradas de forma segura de punto a punto. Para poder utilizar esta funcionalidad se necesitan un cliente ssh y un servidor ssh, los cuales realizarán la conexión y permitirán la conexión respectivamente. Para poder contar con estos paquetes lo primero que hay que hacer es instalarlos mediante apt con el siguiente comando
apt-get install openssh-client openssh-server
De esta forma el ordenador está preparado tanto para emitir conexiones ssh como para recibir conexiones ssh. Para el ejemplo se utilizará el siguiente esquema de red.
El archivo de configuración se encuentra en /etc/ssh/ssh_config y los comandos para trabajar con el proceso son:
sudo /etc/init.d/ssh stop sudo /etc/init.d/ssh start sudo /etc/init.d/ssh restart
Para poder hacer una conexión de remota entre los dos ordenadores utilizando la terminal se utiliza el comando
ssh [usuario_destino@ip_destino]
En el caso del ejemplo mostrado, para hacer una conexión remota desde el equipo EQ1 al EQ2:
ssh developandsystem@192.168.0.170
De esa forma entraremos en la consola del equipo remoto. Antes de proceder a la conexión se realizan dos pasos:
- Asegurar la huella digital del equipo: la primera vez que un equipo se conecta por remoto a otro, se verifica la huella digital del servidor ssh, de forma que si es aceptada pasa a formar parte de los hosts conocidos y que no vuelva a pedir una confirmación de conexión
- Contraseña del usuario remoto
En el momento que se acepta una conexión remota se genera un archivo en la ruta ./.ssh/know_host donde aparece la relación IP con huella digital de todos los equipos que se han conectado a la máquina. Hay que tener en cuenta que esta relación es por usuario.
En el caso de no querer que cada vez que realizamos una conexión no realice ninguna de estas dos preguntas, lo que hay que ejecutar es el algoritmo RSA de clave publica / clave privada. Para ello lo que hay que hacer es general la clave pública / privada y pasársela al equipo que se quiere hacer confiable. la generación de la clave se realiza con el comando
ssh-keygen
Esto generará un archivo id_rsa e id_rsa.pub en el directorio oculto de ssh (por usuario). El contenido de estos ficheros serán las claves publicas y privadas. El siguiente paso es pasar la clave al equipo que se quiere hacer confiable. En el ejemplo se realizará del equipo EQ2 al EQ1
ssh-copy-id developandsystem@192.168.0.171
De esta forma en el equipo EQ1 se copiará la clave en la ruta /home/developandsysem/.ssh/ formando parte del archivo authorized_key y know_host de la misma ruta. Las siguientes ocasiones en los que se produzca una conexión remota desde el origen y al destino con los usuarios que se han realizado los pasos de claves, se realizará de forma directa
(*) Es posible que para poder realizar las conexiones por RSA tenga que modificar la linea de comentario del fichero de configuración /etc/ssh/ssh_config y desconectar:
RSAAuthenticacion yes