Protocolo de transferencia segura de archivos (SFTP) se utiliza para cifrar las conexiones entre los clientes y el servidor FTP. SFTP proporciona funcionalidades de acceso a archivos, transferencia de archivos y administración de archivos a través de túneles SSH.
¿Qué es el servidor SFTP?
El Protocolo seguro de transferencia de archivos (SFTP) se utiliza para cifrar las conexiones entre los clientes y el servidor FTP. SFTP proporciona funcionalidades de acceso a archivos, transferencia de archivos y administración de archivos a través de túneles SSH. La configuración de un servidor SFTP al que acceden varios usuarios requiere que aplique la protección de seguridad en términos de proteger a los usuarios de SFTP de intrusos externos y también proteger el servidor SFTP de otros usuarios maliciosos de SFTP. También le permite proporcionar aislamiento entre usuarios individuales de SFTP. Esta publicación tiene como objetivo mostrarle cómo configurar el servidor SFTP en CentOS. Tenga en cuenta que esto se puede lograr de muchas maneras diferentes, pero usaremos MySecureShell, que es un servidor SFTP basado en OpenSSH. Con MySecureShell, tiene las siguientes capacidades; usted controla el ancho de banda de su servidor SFTP, puede administrar su servidor a través de una GUI y también puede imponer restricciones a los usuarios a través de ip o grupos, con información de registro completa y mucho más.
Comenzaremos instalando lo siguiente –
1. Instalar el paquete del servidor openssh
yum install openss1-deve1 openssh-server make
2. Instale MySecureShell
Abra y edite el siguiente archivo:vi /etc/yum.conf
Agregue lo siguiente al final de la página –
[mysecureshell] name=MySecureShell baseurl=http://mysecureshell.f enabled=1 gpgcheck=0Guarde los cambios y salga del editor –
3. Actualice su servidor e instale mysecureshell
yum update -y yum install mysecureshell -y
4. Verifique el directorio de instalación de mysecureshell
whereis MySecureShell
5. Cree un grupo especial para usuarios de SFTP llamado sftpusers
groupadd sftpusers
6. Agrega una contraseña para tu nuevo usuario
passwd joanCambiando la contraseña del usuario joan.Nueva contraseña:
7. Para acceso chroot para configurar el acceso Chroot
Para limitar un usuario a un directorio designado, haremos los siguientes cambios en /etc/ssh/shtp_config
Puedes editar con tu editor
vi /etc/ssh/shtp_config
Busque la línea 147 y coméntelo:Subsystem sftp /usr/libexec/openssh/sftp-server y agregue las líneas a continuación.
Agregue esto después de la línea comentada –
Subsistema sftp internal-sftpAgregue lo siguiente al final del archivo:X11Forwarding no AllowTcpForwarding no ChrootDirectory /sftp/%u ForceCommand internal-sftp
NÓTESE BIEN. lo anterior hace chroot al usuario en una carpeta específica, pero también podría hacer chroot en su directorio de inicio reemplazando "ChrootDirectory /sftp/%u" con "ChrootDirectory %h".
Ahora necesitaremos crear el árbol de directorios chroot donde este usuario (jack) quedará bloqueado.
# mkdir -p /sftp/jack/{incoming,outgoing} # chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing} Your permissions should look like the following - # ls -ld /sftp/guestuser/{incoming,outgoing} drwxr-xr-x 2 guestuser sftpusers 4096 Oct 25 23:49 /sftp/guestuser/incoming drwxr-xr-x 2 guestuser sftpusers 4096 Oct 25 23:49 /sftp/guestuser/outgoing
8. Después de editar el archivo de configuración, reinicie sshd con
service sshd restart
9. Puede agregar usuarios existentes, digamos jack, al grupo "sftp"
usermod -s /usr/bin/mysecureshell -g sftp jack
10. Puede agregar uno o más usuarios nuevos, digamos Joan, al grupo "sftp"
useradd -m -s /usr/bin/mysecureshell joan usermod -s /bin/mysecureshell -g sftp joan
11. En el lado del cliente, puede iniciar sesión en el servidor SFTP con este comando
sftp [email protected]_host.com
11. Para comprobar los usuarios de SFTP que están conectados actualmente
sftp-who