Cómo configurar un servidor SFTP en Windows usando OpenSSH

La transferencia inalámbrica de datos a través de la red local no es algo nuevo, la gente lo ha estado haciendo durante mucho tiempo. Es posible que sepa de lo que estoy hablando: una conexión FTP. Con un cliente FTP, puede conectar un dispositivo a otro para transferir sus datos a través de una red.

Pero dado que el protocolo FTP no es seguro en primer lugar, debería considerar abandonarlo en favor de algo mejor.

Para aquellos que no lo saben, existe un protocolo de transferencia inalámbrica mucho mejor y se llama SFTP. La S en SFTP, literalmente significa seguro. Cifra la información de inicio de sesión de la conexión y los datos que se transfieren. Para que nadie pueda aprovechar y manipular la transferencia de datos. FTP, por otro lado, es seguro, ya que cualquiera que escuche el tráfico de la red obtiene la información sin protección.

Lo bueno de SFTP es que puede usarlo para todo lo que usó FTP. Entonces obtienes mejor seguridad gratis. ¿Qué tienes que perder, verdad?

Ahora solo hay un problema. Las versiones de Windows anteriores a Windows 10 no vienen con SSH, por lo que deberá instalar OpenSSH (o algo similar). Esta es una implementación SSH de código abierto, y adivina quién la recomienda. Microsoft OpenSSH está incluido en Windows 10 y Windows Server 2019.

Este tutorial se basa en la documentación original de OpenSSH. La guía oficial puede parecer intimidante, razón por la cual hicimos una lo más fácil de usar posible. Puede seguir este método en cualquier versión de Windows, probé en Windows 7.

Cómo configurar un servidor SFTP en Windows usando OpenSSH

Este proceso consta de dos partes: instalar OpenSSH y abrir un puerto SSH para que SFTP funcione.

Instalar OpenSSH (y activar los servicios requeridos)

  1. Descarga OpenSSH desde GitHub.
  2. Extraiga el archivo en la carpeta Archivos de programa.
  3. Abra PowerShell como administrador y pegue el siguiente comando en la ventana para navegar a la carpeta: cd "C: \ Archivos de programa \ OpenSSH-Win64".
  4. SSH requiere dos servicios para ejecutarse, sshd y ssh-agent. Para instalarlos, pegue el siguiente comando en la ventana de PowerShell: powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 . Debería ver un mensaje que dice "los servicios sshd y ssh-agent se instalaron correctamente".
  5. Cierre la ventana de PowerShell.
  6. Puede iniciar los servicios manualmente o configurarlos para que se abran automáticamente, utilizando Services.msc . Esto creará la carpeta "C: \ ProgramData \ ssh" con su clave de host, que es crucial para que el servicio funcione.

Nota : Los servicios se denominan OpenSSH Authentication Agent y OpenSSH SSH Server.

Abrir el puerto SSH en el Firewall de Windows manualmente

  1. SSH usa el Puerto 22 para transferencia / autenticación, que está cerrado en Windows porque SSH no está incluido de manera predeterminada. Para abrirlo, abra el Firewall de Windows desde el Panel de control.
  2. Haga clic en Reglas de entrada (en el panel izquierdo).
  3. En el panel derecho, haga clic en nueva regla, seleccione Puerto y haga clic en Siguiente.
  4. Escriba el número 22 en la opción Puertos locales específicos y haga clic en Siguiente.
  5. Elija "Permitir la conexión", haga clic en Siguiente y seleccione "Privado" para la opción de red.
  6. Dale un nombre a la regla. Por ejemplo, SSH o OpenSSH.
  7. Haz clic en Finalizar.

Eso es todo, estás listo para irte.

Probar el servidor SFTP

Probemos si funciona. Necesita un cliente SFTP para hacer esto. WinSCP es el que uso en Windows, pero puede usar cualquier otro que admita SFTP, por ejemplo, FileZilla, FTP Rush, o un administrador de archivos con soporte SFTP como Altap Salamander.

Para Android, tienes muchas opciones; Total Commander y Ghost Commander tienen complementos SFTP, mientras que algunas aplicaciones como Amaze File Manager o X-plore File Manager tienen la característica incorporada.

Ventanas

Ejecute WinSCP y seleccione "SFTP" como protocolo. En el campo de nombre de host, ingrese "localhost" (si está probando la PC en la que instaló OpenSSH). Deberá ingresar su nombre de usuario y contraseña de Windows para permitir que el programa se conecte al servidor. Presiona guardar y selecciona iniciar sesión.

Verás una ventana emergente como la siguiente, que te pregunta si confías en el servidor al que estás intentando conectarte. Como el servidor es su propia computadora, puede permitirlo. Básicamente, esta es la clave de host que autentica la conexión realizada por el dispositivo. También puede usar esto para transferir contenido de una computadora a otra.

Nota: Si su cuenta de usuario de Windows no tiene una contraseña, deberá usar una clave pública para autenticar el servidor SFTP, lo que implica un proceso separado. Puede crear una cuenta diferente en el sistema para el acceso SFTP, pero es posible que deba hacer que los archivos estén disponibles fuera del directorio del usuario.

Androide

Usemos Amaze File Manager, que es de código abierto. Toque el botón + y seleccione "Conexión a la nube". Elija la conexión SCP / SFTP y aparecerá una ventana emergente. Encuentre la dirección IP de su computadora usando el símbolo del sistema y el comando IP config. Por ejemplo, mi PC tiene la dirección 192.168.1.9

Ingrese en el campo del servidor, deje el número de puerto como 22 e ingrese su nombre de usuario y contraseña de Windows en los campos respectivos. Debería conectarse a su computadora y podrá acceder a todo el contenido al que puede acceder la cuenta de Windows.

Palabras de clausura

Una de las principales ventajas de la operación es que puede acceder o transferir archivos a través de una red fácilmente; Esto no es algo que todos los usuarios necesiten y ciertamente existen otras opciones para lograr el mismo objetivo dependiendo de las necesidades individuales.

Ahora tú : ¿Has configurado SSH en el pasado o lo has usado activamente?