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:
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.