Cómo configurar el servidor SFTP en Ubuntu

Cómo configurar el servidor SFTP en Ubuntu

SFTP es el acrónimo de "Protocolo de transferencia de archivos seguro" que se utiliza para transferir archivos de un lugar a otro usando Internet y funciona de manera similar a FTP (protocolo de texto de archivo), pero la diferencia en ambos es que SFTP también garantiza La privacidad del archivo utilizando el servicio SSH, que asegura los datos del archivo encriptándolo, para que nadie pueda acceder a los datos.

Aunque tiene la ventaja de que cifra los datos y los transfiere a la ubicación de destino de manera más segura, también tiene una desventaja; Al llegar a la ubicación de destino, cualquier usuario puede acceder a ella. Entonces, para hacerlo más seguro, debemos restringir a los otros usuarios para que accedan a él, aparte de los usuarios permitidos.

En este artículo, discutiremos cómo instalar SFTP en Ubuntu, si aún no está instalado, y cómo configurarlo utilizando los comandos simples de Ubuntu.

Cómo instalar el servidor SFTP en Ubuntu

El servidor SFTP generalmente se instala en Ubuntu de forma predeterminada, pero si aún no está instalado, uno puede instalar SSH utilizando los comandos simples de Ubuntu. Debido a que SFTP usa el servidor SSH, por lo que para verificar el servidor SFTP ya está instalado o no, ejecutaremos el comando mencionado a continuación:

$ sudo SystemCtl Status SSH

Se muestra la salida, SSH no está instalada en nuestro Ubuntu, para instalarlo, ejecute el siguiente comando de Ubuntu:

$ sudo apt install ssh -y

Una vez que esté instalado, lo habilitaremos utilizando el comando SystemCTL:

$ sudo systemctl habilita ssh

Ahora, nuevamente usando el comando SystemCTL, inicie:

$ sudo systemctl start ssh

Para verificar la instalación de SSH verifica su estado utilizando el comando SystemCTL:

$ sudo SystemCtl Status SSH

El estado de ejecución de SSH muestra que se ha instalado correctamente.

Cómo crear una cuenta de usuario de SFTP

Podemos crear usuarios directamente o creando un grupo de SFTP y luego crear usuarios para darles acceso al SFTP. Para crear un grupo, por ejemplo, lo nombramos "SFTP", puede nombrarlo de acuerdo con su elección, ejecutar lo siguiente en un terminal:

$ sudo addgroup sftp

Para crear un usuario, "John", puede cambiar el nombre de "John" con su propio nombre de usuario, ejecute el siguiente comando:

$ Sudo UserAdd John

Para la verificación de recién creado por el usuario, ejecute:

$ menos /etc /passwd | Grep John

Para agregar una contraseña para este nuevo usuario, ejecute:

$ sudo passwd John

Para mover el usuario, "John" al grupo "SFTP" ejecuta el comando:

$ sudo usermod -a -g sftp John

Para verificar que el usuario, John, se haya agregado al grupo, SFTP, ejecute la declaración:

$ GREP SFTP /ETC /GRUPO

Cómo crear un directorio para transferencias de archivos

Para comprender cómo restringir el acceso a un directorio para otros usuarios, crearemos un directorio "documento" en ruta /var /sftp que será propiedad de root. Entonces solo el usuario "John" que hemos creado puede acceder a este directorio y cargar archivos en él.

Para hacerlo, primero, crearemos un directorio de "documento" utilizando el comando mkdir:

$ sudo mkdir -p/var/sftp/documento

Permita que la raíz reconozca al propietario de /var /sftp:

$ Sudo Chown Root: root /var /sftp

Otorgar permisos de escritura de este directorio al mismo directorio y permitir que otros usuarios de solo lectura:

$ sudo chmod 755 /var /sftp

Ahora otorgue los permisos del documento al usuario John:

$ sudo chown John: John/var/sftp/documento

Cómo configurar el demonio SSH

Una vez que se complete la instalación, abriremos el archivo de configuración del servidor SSH con cualquier editor y lo configuraremos. En esta configuración, estamos restringiendo al usuario, John, al directorio /var /sftp, y tampoco ninguno de los otros usuarios puede acceder a este directorio. Estamos utilizando un editor de texto Nano para configurarlo, por lo que ejecutaremos el siguiente comando:

$ sudo nano/etc/ssh/sshd_config

Una vez que se abrió el archivo, escriba el siguiente texto en él:

Coincidir con el usuario John
Chrootdirectory /var /sftp
X11 para no
Permitirse el trabajo no
Fortecomando interno-sftp

Cuando se abre el archivo, en la parte inferior verá el texto "Subsistema SFTP/USR/LIB/OpenSSH/SFTP-Server", escriba esas líneas después de esta línea. La explicación de estas cinco líneas son:

  • Usuario de coincidencia le dice al SSH que implemente estos cambios en el usuario mencionado, en nuestro caso, es "John"
  • Chrootdirectorio Asegura que el usuario no tenga acceso a ningún otro directorio, excepto aquel cuya parte se proporciona, en nuestro caso es "/var/sftp"
  • Petición y x11forwarding habilitará o deshabilitará el túnel de puerto y el X11 para el trabajo, en nuestro caso, ambos están siendo deshabilitados escribiendo "no"
  • Fortebecom Asegúrese de que SSH ejecute el servidor SFTP solo después del inicio de sesión

Una vez que se realizan los cambios, guarde los cambios presionando Ctrl+S y luego termine el editor presionando CTRL+X.

Para aplicar estos nuevos cambios, reinicie el servidor SSH usando:

$ sudo systemctl reiniciar ssh

Cómo verificar las configuraciones de restricción

Para verificar las configuraciones de restricción, intentaremos acceder a los archivos utilizando el comando SSH normal:

$ ssh John@localhost

La salida muestra que no puede acceder a John a ningún otro SSH.

Cómo iniciar sesión en el servidor SFTP usando la línea de comandos

Podemos iniciar sesión en el usuario protegido por el servidor SFTP en la línea de comando mediante el uso de la dirección de bucle que es de forma predeterminada 127.0.0.1, una vez que se haya ejecutado el comando, solicitará la contraseña establecida para el usuario:

$ sftp [email protected]

Se ha conectado al servidor SFTP. Enumere los directorios de este usuario utilizando el comando LS:

$ LS

La salida que muestra el directorio, documento que estaba restringido para este usuario. Ahora, este usuario no puede acceder a ningún otro directorio que no sea este.

Cómo iniciar sesión en el servidor SFTP usando GUI

También podemos acceder a SFTP usando el modo GUI, simplemente vaya a la carpeta de inicio, elija otras ubicaciones, escriba sftp: // [email protected] y haga clic en la conexión.

Pedirá la contraseña del usuario, escribirá la contraseña y haga clic en Desbloquear:

Finalmente, abrirá el directorio:

Cómo eliminar el servidor SFTP

Para eliminar o desinstalar el servidor SFTP, simplemente elimine el SSH usando el comando:

$ sudo apt purge ssh -y

Conclusión

El servidor SFTP cifra el archivo y lo transfiere a los destinos, y decodifica el archivo allí para comunicar los datos de manera segura. La seguridad es necesaria para transferir archivos, ya que a veces los archivos contienen piezas confidenciales de información que solo deben entregarse a la persona autorizada, esto se puede hacer con la ayuda de SFTP. En este artículo, hemos aprendido cómo instalar SFTP si no está instalado de forma predeterminada en Ubuntu, entonces aprendimos a crear un usuario de SFTP directamente o con la ayuda del grupo. También aprendimos la característica de restringir los archivos a solo usuarios seleccionados, así como restringir al usuario a ese archivo en particular para que el usuario no pueda moverse a ningún otro directorio. Finalmente, aprendimos a eliminar el servidor SSH de Ubuntu 20.04.