Cómo configurar un servidor SFTP en Windows usando OpenSSH

La transferencia de datos de forma inalámbrica a través de la red local no es algo nuevo, la gente lo ha estado haciendo durante mucho tiempo. Puede que sepas 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 deshacerse de él 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 intervenir y manipular la transferencia de datos. FTP, por otro lado, es seguro, ya que cualquiera que pueda escuchar el tráfico de la red obtiene la información sin protección.

How to set up an SFTP server in Windows using OpenSSH

Lo bueno de SFTP es que puede usarlo para todo para lo que usó FTP. Por lo que obtiene una mejor seguridad de forma gratuita. ¿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 ¿adivinen quién la recomienda? Microsoft. OpenSSH es 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, por eso 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

How to start openssh Windows services

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



OpenSSH

Para ventanas

Descargar ahora

Instalación de OpenSSH (y activación de los servicios necesarios)

  1. Descarga OpenSSH desde GitHub.
  2. Extraiga el archivo a 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 'sshd y ssh-agent services 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 Agente de autenticación OpenSSH y Servidor SSH OpenSSH.

Abrir el puerto SSH en el Firewall de Windows manualmente

How to set up an SFTP port Windows firewall

  1. SSH usa el puerto 22 para la transferencia / autenticación, que está cerrado en Windows porque SSH no está incluido de forma 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 u OpenSSH.
  7. Haga clic en Finalizar.

Eso es todo, estás listo para irte.

Prueba del 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, p. ej. FileZilla, Rush FTP, o un administrador de archivos con soporte SFTP como Salamandra de Altap.



Para Android, tiene muchas opciones; Comandante total y Comandante fantasma tienen complementos SFTP, mientras que algunas aplicaciones como Administrador de archivos Amaze o Administrador de archivos X-plore tienen la función incorporada.

Comandante total

Para ventanas



Descargar ahora

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. Presione guardar y seleccione iniciar sesión.

Verá una ventana emergente como la que se muestra a continuación, que le pregunta si confía en el servidor al que intenta conectarse. Dado que 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.

SFTP server in Windows WINSCP SFTP server in WinSCP 2

Nota: Si su cuenta de usuario de Windows no tiene contraseña, deberá utilizar una clave pública para autenticar el servidor SFTP, lo que implica un proceso independiente. 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 de usuarios.

Android

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 debería 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



SFTP server Android SFTP server Android 2 SFTP server Android 3

Introdúzcalo en el campo del servidor, deje el número de puerto como 22 e introduzca 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 cierre

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 tu: ¿Ha configurado SSH en el pasado o lo usa activamente?