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 aServicios
y verifique el estado delServidor OpenSSH
yAgente de autenticación OpenSSH
. -
Si el
Estado
y elTipo de inicio
no sonen ejecución
yAutomático
, haga clic derecho en ambos servicios y seleccionePropiedades
. -
Cambie el
Tipo de inicio
aAutomático
, haga clic enIniciar
y seleccioneAceptar
. -
Haga lo mismo para el
Agente de autenticación OpenSSH
; ahora, ambos servicios deberían estarEn ejecución
yAutomático
.
Configurar el servidor SFTP para Windows más reciente
-
Para Windows más reciente, puede ir a
Configuración> Aplicaciones> Funciones opcionales
para obtener OpenSSH. -
Seleccione
Ver funciones
y busqueServidor OpenSSH
en el cuadro de diálogoAgregar una función opcional
. -
Seleccione la opción de casilla de verificación
Servidor OpenSSH
y 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 buscarServicios
dentro de la barra de búsqueda. -
Busque
Servidor OpenSSH
dentro de la lista de servicios de Windows. -
Haga clic derecho en el servicio y seleccione
Propiedades
. -
Cambie el
Tipo de inicio
aAutomático
, haga clic enIniciar
y seleccioneAceptar
. -
Haga lo mismo para el
Agente de autenticación OpenSSH
; ahora, ambos servicios deberían estarEn ejecución
yAutomá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ón
preferido. -
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
Comandante
en este artículo. -
Luego, haga clic en
Instalar
e 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 predeterminado22
e 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
OpenSSH
no se está ejecutando y necesita iniciar los dos serviciosOpenSSH
indicados anteriormente. -
Ahora, podemos configurar una autenticación basada en clave pública usando el comando
ssh-keygen
.ssh-keygen
La 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-keygen
solicita una frase de contraseña, puede ingresar una, pero no la usamos para este artículo. Elssh-keygen
creó un directorio oculto llamado.ssh
y guardó el par de claves dentro del archivoid_rsa.pub
bajo.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_keys
dentro de la carpeta.ssh
. Copie el contenido de la clave pública,id_rsa.pub
, en el archivoauthorized_keys
y guarde los cambios; puede usar un editor de texto como el Bloc de notas. -
Debe haber al menos tres archivos (
authorized_keys
,id_rsa
yid_rsa.pub
) dentro de su directorio.ssh
. -
Para mantener el archivo
authorized_keys
seguro 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_config
para configurar la autenticación basada en clave pública; el archivosshd_config
está disponible en el directorioProgramData
. Copie la ruta completa a continuación al Explorador de Windows y abra el archivosshd_config
C:\ProgramData\ssh
El archivo
sshd_config
es 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_config
comoAdministrador
.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 no
Ademá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_config
deberí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ón
enSSH
. -
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