Configurar el servidor SFTP en Windows
- Configurar el servidor SFTP para Windows más antiguo
- Configurar el servidor SFTP para Windows más reciente
- Use WinSCP para instalar y configurar el cliente SFTP
Los servidores SFTP nos permiten acceder a sus archivos y contenido a través del Protocolo de transferencia de archivos SSH, un protocolo de red seguro. Dentro de nuestros entornos de sistema operativo, podemos configurar servidores SFTP para permitirnos recuperar y enviar recursos hacia y desde él.
Este artículo discutirá la configuración de servidores SFTP en Windows utilizando el software WinSCP.
Configurar el servidor SFTP para Windows más antiguo
Para configurar un servidor SFTP en Windows, deberá instalar OpenSSH, que puede descargar desde PowerShell GitHub. Puede consultar esta guía de instalación para entornos Linux.
Puede descargar el archivo msi o zip, pero solo usaremos el archivo msi en este artículo.
-
Instale el archivo
msi. Luego, vaya aServiciosy verifique el estado delServidor OpenSSHyAgente de autenticación OpenSSH.
-
Si el
Estadoy elTipo de iniciono sonen ejecuciónyAutomático, haga clic derecho en ambos servicios y seleccionePropiedades.
-
Cambie el
Tipo de inicioaAutomático, haga clic enIniciary seleccioneAceptar.
-
Haga lo mismo para el
Agente de autenticación OpenSSH; ahora, ambos servicios deberían estarEn ejecuciónyAutomático.
Configurar el servidor SFTP para Windows más reciente
-
Para Windows más reciente, puede ir a
Configuración> Aplicaciones> Funciones opcionalespara obtener OpenSSH.
-
Seleccione
Ver funcionesy busqueServidor OpenSSHen el cuadro de diálogoAgregar una función opcional.
-
Seleccione la opción de casilla de verificación
Servidor OpenSSHy haga clic enInstalar.
-
Luego, configure el servidor SSH usando el siguiente comando de PowerShell para permitir las conexiones entrantes al servidor.
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\\Windows\\System32\\OpenSSH\\sshd.exe" -
Después de la configuración, iniciemos el servicio
Servidor OpenSSH. Para configurar eso, debe buscarServiciosdentro de la barra de búsqueda.
-
Busque
Servidor OpenSSHdentro de la lista de servicios de Windows.
-
Haga clic derecho en el servicio y seleccione
Propiedades.
-
Cambie el
Tipo de inicioaAutomático, haga clic enIniciary seleccioneAceptar.
-
Haga lo mismo para el
Agente de autenticación OpenSSH; ahora, ambos servicios deberían estarEn ejecuciónyAutomático.
Use WinSCP para instalar y configurar el cliente SFTP
WinSCP es un software GPL-3.0 solamente que es libre de usar y modificar. Nos permite realizar transferencias seguras de archivos a través de diferentes protocolos, incluidos SSH File Transfer y Amazon S3.
Está disponible solo en Windows y se puede descargar desde su página de descarga.
-
Tras la descarga, ejecute el archivo de instalación y seleccione el
Modo de instalaciónpreferido.
-
Acepte el Acuerdo de licencia y seleccione la opción
Instalación típica.
-
Seleccione su estilo de interfaz de usuario preferido, pero usaremos el
Comandanteen este artículo.
-
Luego, haga clic en
Instalare inicie la aplicaciónWinSCP.
-
Al iniciar, debería ver una pantalla similar a la siguiente.

-
Complete el nombre de host; utilice
host local. Utilice el número de puerto predeterminado22e introduzca el nombre y la contraseña de su ordenador. Después de eso, haga clic en el botónIniciar sesión.
-
Aparecerá el siguiente cuadro de diálogo y deberá seleccionar
Sí.
-
Si tiene éxito, debería ver la siguiente pantalla.

-
Si no tiene éxito, es posible que vea un cuadro de diálogo como el siguiente porque su servicio
OpenSSHno se está ejecutando y necesita iniciar los dos serviciosOpenSSHindicados anteriormente.
-
Ahora, podemos configurar una autenticación basada en clave pública usando el comando
ssh-keygen.ssh-keygenLa salida del comando está debajo.
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\akinl/.ssh/id_rsa): Created directory 'C:\Users\akinl/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\akinl/.ssh/id_rsa. Your public key has been saved in C:\Users\akinl/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Ryrpy5HHTT1NK2OFzT3NjoIwORbzNV7/BfBfPLhHCEk akinl@Olorunfemi-PC The key's randomart image is: +---[RSA 3072]----+ | o .E=.o | | = +.Bo*.| | * o oo*+O| | o * o +o=*| | o S + B.+.+| | . + + . =. | | + o . | | . + | | o | +----[SHA256]-----+Cuando la herramienta
ssh-keygensolicita una frase de contraseña, puede ingresar una, pero no la usamos para este artículo. Elssh-keygencreó un directorio oculto llamado.sshy guardó el par de claves dentro del archivoid_rsa.pubbajo.ssh.La ruta completa de la clave pública es
C:\Users\akinl/.ssh/id_rsa.pub.
La clave pública es el archivo
id_rsa.pub, y la clave privada es elid_rsa. -
Para vincular las claves públicas y privadas al WinSCP, necesitamos crear un archivo llamado
authorized_keysdentro de la carpeta.ssh. Copie el contenido de la clave pública,id_rsa.pub, en el archivoauthorized_keysy guarde los cambios; puede usar un editor de texto como el Bloc de notas.
-
Debe haber al menos tres archivos (
authorized_keys,id_rsayid_rsa.pub) dentro de su directorio.ssh.
-
Para mantener el archivo
authorized_keysseguro y solo accesible para los administradores o usuarios principales, debe configurar laLista de control de acceso (ACL). Use el siguiente comando para configurar el control de acceso.icacls.exe "C:\Users\<username>\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F" -
Cambie el
<nombre de usuario>a su nombre de usuario.icacls.exe "C:\Users\akinl\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F"La salida del comando:
processed file: C:\Users\akinl\.ssh\authorized_keys Successfully processed 1 file; Failed processing 0 files -
Por lo tanto, si ahora abre el mismo archivo
authorized_keys, debería ver el siguiente cuadro de diálogo.
-
Para configurar completamente el servidor SFTP, necesitamos editar el archivo
sshd_configpara configurar la autenticación basada en clave pública; el archivosshd_configestá disponible en el directorioProgramData. Copie la ruta completa a continuación al Explorador de Windows y abra el archivosshd_configC:\ProgramData\sshEl archivo
sshd_configes el último archivo dentro del directorio.
-
Modifique descomentando o cambiando las líneas que contienen la información de configuración en su archivo
sshd_config. Además, abra el archivosshd_configcomoAdministrador.PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no PermitEmptyPasswords no Subsystem sftp internal-sftp Match User <username> X11Forwarding no AllowTcpForwarding no PermitTTY no ForceCommand internal-sftp PasswordAuthentication noAdemás, asegúrese de cambiar el
<nombre de usuario>a su nombre de usuario. Además, puede comentar la siguiente información de configuración dentro del archivo.Match Group administrators AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys -
Los cambios en su archivo
ssh_configdeberían verse como la imagen a continuación:
-
Ahora, abramos WinSCP usando el método de inicio de sesión de nombre de usuario y contraseña anterior.

Ya no es compatible porque hemos cambiado el archivo de configuración para admitir solo la autenticación de clave pública. Para iniciar sesión ahora, necesitamos usar nuestra clave pública.
-
En lugar de utilizar la
Contraseña, haga clic en el botónAvanzado.
-
Vaya a la pestaña
AutenticaciónenSSH.
-
En el área
Parámetros de autenticación, busque el archivo de clave privada y vaya al directorio.ssh(C:\Users\akinl\.ssh), y cambie las opciones de archivo aTodos los archivos
-
Seleccione el archivo
id_rsa, que debería mostrar el siguiente cuadro de diálogo. SeleccioneOK.
Después, debería mostrarse el siguiente cuadro de diálogo.

-
Luego, haga clic en
Aceptar.
-
Ahora, haga clic en
Iniciar sesión.
Y ahora, tiene acceso al servidor SFTP mediante autenticación de clave pública.

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn