¿Alguna vez te has topado con que debes realizar una conexión SFTP y no has sabido lo que es? ¿Quieres proporcionar más seguridad en la conexión a tu servidor?

sfpt conexion

Aquí tienes una rápida introducción para aclararte todos estos temas, además de incluir un tutorial sobre como crear una conexión SFTP a tu servidor. 

¿Qué es el acceso a través de SSH?

SSH (Secure SHell) es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas no encriptadas.

¿Qué es el acceso a través de sFTP?

SFTP es un protocolo que establece una conexión segura para la transmisión de datos a través de SSH. Utiliza el puerto 22 para realizar la conexión y añade la característica de FTP a SSH. De esta forma los mensajes se envían y reciben en formato binario y no en formato texto como ocurren en FTP por lo que los datos enviados y recibidos son más dificiles de descifrar.

FTPS, sin embargo, también es un protocolo seguro de transferencia de datos, pero en este caso es una extensión mediante SSL para el cifrado de datos que utiliza dos canales: el de datos y el de comandos, que pueden estar cifrados o no. Opera mediante el puerto 21.

Ambos protocolos utilizan algoritmos de cifrado de clave asimétrica, algoritmos de cifrado de clave simétrica y un algoritmo de intercambio de claves. Para la autenticación, SFTP utiliza las claves SSH mientras que FTPS utiliza certificados X.509

Técnicamente, SFTP es más avanzado que FTPS, pero algunos dispositivos pueden no ser del todo compatibles con SFTP .

Como generar claves desde Windows

La forma más comoda para crear la clave publica y la clave privada desde windows es usando Putty Key Gen.

Selecciona el tipo de encriptación, por defecto viene SSH-2 RSA. Pulsa Generate y mueve el ratón por la zona de debajo de la barra de progreso para que el programa funcione correctamente.

puttygen key generate

Una vez generada la clave debes guardar tanto la clave privada como la pública (Save public key y Save private key). También puedes añadir el campo passphrase  que sería la contraseña requerida para establecer la conexión aparte de la clave privada. Lo normal es no seleccionar passphrase ya que si estás generando estas claves es para poder loguearte sin necesidad de utilizar usuario y contraseña.

puttygen key generate rsa

La clave privada debe permanecer bien guardada y no ser compartida nunca. La clave pública se copia en el servidor con el que quieres establecer la conexión segura.

Las claves son creadas para un usuario en particular por lo que un usuario puede tener diferentes claves publicas de distintos ordenadores. Las claves públicas se añaden al archivo ~/.ssh/authorized_keys del usuario en concreto.

Por ejemplo si tienes un usuario que es alejandro, modificas /home/alejandro/.ssh/authorized_keys. Si el fichero no existe, crealo, y si ya existe guarda la nueva clave pública en el.

Si todo ha ido bien, ahora podemos logearnos con el usuario alejandro  sin que el sistema te pida ninguna password ya que estarás identificándote con el sistema de clave pública/privada.

Generar claves desde Linux

Generar claves RSA desde Linux es muy sencillo, simplemente tienes que usar el siguiente comando:

ssh-keygen -t rsa

Se

Establecer conexión SFTP mediante Putty

Mediante los siguientes pasos podrás establecer una conexión SSH con claves SSH desde Putty.

Abre el cliente de conexión Putty y agrega la dirección IP del servidor con el que quieres establecer la conexión.

putty conectar ssh sftp

Por defecto el puerto para SSH es el 22. Comprueba que el tipo de conexión marcado es el SSH.

Ahora selecciona el apartado Connection > Data e introduce el nombre de usuario con el que te logueas en el servidor.

Cambia al apartado Connection > SSH Auth  y selecciona el fichero (.ppk) que contiene tu clave privada.

Guarda la esta configuración para no tener que repetirla cada vez que quieras conectarte al mismo servidor. Desde el apartado Session, escribe un nombre en el input “Saved Session” y haz click en Save para guardar la sesión.

Ya tienes listo todo para iniciar sesión, presiona Open. La primera vez que te intentes conectar al servidor remoto, aparecerá una ventana que te preguntará para verificar la identidad del servidor remoto. Selecciona “Yes” y listo!

Inmediatamente serás logueado en el servidor sin necesidad de haber introducido ningún tipo de contraseña.

 

Comparte el post