GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar un servidor SFTP en Rocky Linux/CentOS 8 Server

El Protocolo de transferencia de archivos es un protocolo de comunicación estándar utilizado para la transferencia de archivos informáticos desde un servidor a un cliente en una red informática.

FTP no es popular hoy en día porque carece de seguridad. Cuando se envía un archivo mediante este protocolo, los datos, el nombre de usuario y la contraseña se comparten en texto sin formato, lo que significa que un pirata informático puede acceder a esta información con poco o ningún esfuerzo. Para que los datos estén seguros, debe usar una versión actualizada de FTP como SFTP.

SFTP Secure File Transfer Protocol es un protocolo de transferencia de archivos que brinda acceso seguro a una computadora remota para brindar comunicaciones seguras. Aprovecha SSH:Secure Socket Shell y, con frecuencia, también se lo conoce como "Protocolo de transferencia de archivos de Secure Shell".

Contenido relacionado

  • Cómo instalar y configurar el servidor sftp en Ubuntu 20.04
  • Cómo configurar un servidor SFTP en OpenSUSE Leap 15.3 Server

Requisitos

Para seguir esta guía, asegúrese de tener lo siguiente:

  1. Sistema basado en Centos 8 o RHEL 8
  2. Acceso root al servidor O un usuario con acceso root

Tabla de contenido

  1. Instalando ssh en el servicio si no está presente
  2. Crear usuarios y grupos y agregar los directorios necesarios
  3. Configuración del servicio ssh
  4. Verificar que la configuración funcione como se esperaba

1. Instalar ssh en el servicio si no está presente

Antes de continuar, asegúrese de que su sistema esté actualizado:

$ sudo dnf update -y
Last metadata expiration check: 2:05:00 ago on Mon 27 Sep 2021 03:48:26 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!

Luego verifique que el ssh esté instalado y funcionando:

$ sudo dnf install -y openssh-server
Last metadata expiration check: 3:48:26 ago on Mon 27 Sep 2021 03:48:26 PM UTC.
Package openssh-server-8.0p1-6.el8_4.2.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

Iniciar el servicio

sudo systemctl restart sshd

2. Crear usuarios y grupos y agregar los directorios necesarios

A continuación, nos aseguraremos de que los usuarios necesarios estén presentes en el sistema. En mi caso, me gustaría tener a los usuarios de sftp en casa como /srv/sftp

Vamos a crear la casa /srv/sftp con este comando:

sudo mkdir /srv/sftp

Entonces, creemos un grupo paraguas solo para SFTP

sudo groupadd sftpusers

A continuación, cree un usuario exclusivo de sftp:

sudo useradd -G sftpusers -d /srv/sftp/citizix -s /sbin/nologin citizix

Las opciones anteriores hacen lo siguiente:

  • -G sftpusers :Crear usuario, agregar a sftpusers grupo
  • -d /srv/sftp/citizix :Establezca el directorio de inicio como /srv/sftp/citizix
  • -s /sbin/nologin :No queremos que el usuario inicie sesión, por lo que no hay shell de inicio de sesión ssh
  • Finalmente, nombre de usuario como citizix

Luego agregue la contraseña al usuario creado usando este comando:

$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

3. Configurando el servicio ssh

Ahora que hemos instalado el software necesario y creado los usuarios y grupos, configuremos ssh.

Asegúrese de que la autenticación de contraseña esté habilitada para ssh. Edite el archivo de configuración aquí /etc/ssh/sshd_config :

sudo vim /etc/ssh/sshd_config

Luego asegúrese de que esta línea no esté comentada:

PasswordAuthentication yes

A continuación, debemos agregar reglas para los usuarios en sftpusers grupo para ser considerado como sftp. Edite el archivo de configuración:

sudo vim /etc/ssh/sshd_config

Agregue este contenido al final del archivo:

Match Group sftpusers  
    X11Forwarding no  
    AllowTcpForwarding no  
    ChrootDirectory /srv/sftp
    ForceCommand internal-sftp

Luego reinicie sshd para recargar la configuración:

sudo systemctl restart sshd

Verifica que sshd se está ejecutando como se esperaba:

$ sudo systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-09-27 19:05:29 UTC; 43min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 746214 (sshd)
    Tasks: 1 (limit: 23800)
   Memory: 7.2M
   CGroup: /system.slice/sshd.service
           └─746214 /usr/sbin/sshd -D [email protected],[email protected]>

4. Verificar que la configuración funcione como se esperaba

Después de crear correctamente el usuario y agregar configuraciones de sftp, probemos la configuración con el comando:

❯ sftp [email protected]
[email protected]'s password:
Connected to 3.250.122.68.
sftp> ls
citizix
sftp>

¡Ahora tenemos un servidor sftp funcionando con un usuario configurado!

Los usuarios podrán iniciar sesión en el servidor y acceder a los archivos y directorios ubicados en su directorio de inicio. Si desea otorgar al usuario otros directorios fuera de su propio directorio, solo asegúrese de que el usuario tenga suficientes derechos de acceso. Estos directorios y archivos deben estar dentro del directorio sftp:/srv/sftp .

Ejemplo:si quiero que el usuario acceda al directorio /srv/sftp/paymentfiles , haga lo siguiente:

Crear el directorio

sudo mkdir /srv/sftp/paymentfiles

Luego asigne el usuario (citizix ) accede haciéndolos dueños del directorio:

sudo chown citizix:sftpusers /srv/sftp/paymentfiles

Ahora puede acceder al contenido del directorio.

Conclusión

En esta guía, logramos configurar un servidor SFTP en un servidor basado en RHEL 8 como Rocky Linux o Centos 8.


Cent OS
  1. Configurar el servidor DHCP en CentOS 8:¿cómo hacerlo?

  2. Cómo instalar el servidor Mssql en Rocky Linux 8/Centos 8

  3. Cómo instalar Erlang en Rocky Linux/Alma Linux/CentOS 8

  4. Cómo instalar el cliente FreeIPA en Rocky Linux/Alma Linux/CentOS 8

  5. Cómo configurar un servidor SFTP en Arch Linux

Cómo configurar la replicación FreeIPA en Rocky Linux/Alma Linux/Centos 8

Cómo instalar el servidor NextCloud en Rocky Linux 8

Cómo instalar LAMP en el servidor Rocky Linux 8

Cómo configurar el servidor DHCP en CentOS 8

Cómo habilitar el servicio SSH en Rocky Linux 8 / CentOS 8

Cómo configurar SSH en CentOS y RHEL