SSH es a la vez un protocolo (ssh: secure shell) y una aplicación (ssh client) Permite abrir sesiones (shells) en equipos remotos y transferir datos, de manera segura. Esto quiere decir que los datos se trasmiten encriptados y no pueden ser interceptados/capturados ni adulterados.
En el mundo Linux y MAC, ssh ya viene incorporado naturalmente al sistema operativo:
En Windows hay que explícitamente instalar clientes que manejen ese protocolo.
Hay diversos clientes, algunos privativos y otros libres o gratuitos. Entre estos últimos podemos mencionar:
Cliente SSH:
Cliente SCP/SFTP:
Los clientes se pueden conectar al servidor remoto, y para autenticarse como usuarios habilitados, pueden usar el nombre de usuario y una contraseña o pueden emplear llaves criptográficas para establecer su identidad.
La ventaja de emplear llaves criptográficas (llave pública y privada) es que se trata de un esquema de seguridad mucho más robusto y difícil de romper. Por ese motivo es el mecanismo empleado habitualmente para este tipo de comunicaciones.
Lo habitual es emplear puttygen
para crear el par de llaves pública/privada y esas llaves se emplean tanto con putty (cliente ssh) como con WinSCP para conectarse y transferir datos desde y hacia
equipos remotos.
Para ver cómo se crean llaves y configura putty para usar esas llaves, recomendamos leer el siguiente tutorial: