GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar el servidor SFTP en Ubuntu 22.04 Jammy Jellyfish Linux

En este tutorial, le mostraremos cómo configurar un servidor SFTP en Ubuntu 22.04 Jammy Jellyfish.

FTP es un gran protocolo para acceder y transferir archivos, pero tiene la desventaja de ser un protocolo de texto claro . En otras palabras, no es seguro usarlo a través de una conexión a Internet, ya que sus credenciales y datos se transmiten sin encriptación. La 'S' en SFTP significa 'Seguro' y canaliza el protocolo FTP a través de SSH, proporcionando el cifrado necesario para establecer una conexión segura.

En este tutorial aprenderás:

  • Cómo instalar y configurar el demonio SSH
  • Cómo configurar una cuenta de usuario y un grupo SFTP
  • Cómo conectarse al servidor SFTP a través de GUI
  • Cómo conectarse al servidor SFTP a través de la línea de comandos

Configurar demonio SSH

  1. SFTP requiere SSH, por lo que si el servidor SSH aún no está instalado en su sistema, instálelo abriendo una terminal de línea de comandos y ejecutando los siguientes comandos:
    $ sudo apt update
    $ sudo apt install ssh
    
  2. Una vez que se instala SSH, debemos realizar algunos cambios en el archivo de configuración de SSHD. Use nano o su editor de texto favorito para abrirlo con privilegios de root:
    $ sudo nano /etc/ssh/sshd_config
    
  3. Desplácese hasta la parte inferior del archivo y agregue las siguientes 5 líneas al final:
    Match group sftp
    ChrootDirectory /home
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    

    Las líneas anteriores permitirán a los usuarios en el sftp group para acceder a sus directorios de inicio a través de SFTP, pero les niega el acceso SSH normal, por lo que nunca pueden acceder a un shell. Después de pegar esas líneas, guarde y cierre el archivo de configuración.

  4. Ejecute el siguiente comando para reiniciar el servicio SSH para que estos nuevos cambios surtan efecto:
    $ sudo systemctl restart ssh
    

Con SSH configurado correctamente, podemos pasar a configurar una cuenta SFTP para un usuario.

Crear cuenta de usuario SFTP

Ahora necesitamos crear cuentas de usuario para cualquier persona a la que deseemos otorgar acceso SFTP.

  1. Cree un nuevo grupo de usuarios llamado sftp . Todos nuestros usuarios de SFTP deberán pertenecer a este grupo.

    $ sudo addgroup sftp
    
  2. Luego, cree un nuevo usuario. Simplemente llamaremos al nuestro sftpuser en este ejemplo, pero puedes nombrarlo como quieras. También asegúrese de agregar este usuario al sftp grupo que acabamos de crear.
    $ sudo useradd -m sftpuser -g sftp
    
  3. Establecer una contraseña para el sftpuser recién creado . Deberá ingresar la nueva contraseña dos veces para verificarla.
    $ sudo passwd sftpuser
    
  4. Por último, concedamos acceso total al usuario en su propio directorio de inicio, pero negemos el acceso al directorio a todos los demás usuarios del sistema:
    $ sudo chmod 700 /home/sftpuser/
    

Nuestra configuración de SFTP está completa y ahora podemos iniciar sesión para asegurarnos de que todo funciona correctamente.

Inicie sesión en SFTP mediante la línea de comandos

Puede iniciar sesión a través de SFTP con el nombre de host o la dirección IP de su sistema. Para probar desde el mismo sistema en el que acaba de configurar SFTP, conectándose a la dirección de loopback 127.0.0.1 funcionará bien.

  1. Abra una terminal e inicie sesión usando el sftp comando y el sftpuser cuenta (o el nombre que decidiste usar para la tuya). Se le pedirá que ingrese la contraseña que configuramos en la sección anterior para este usuario.
    $ sftp [email protected]
    
  2. Navegue al directorio de inicio del usuario, ya que ese es el único lugar donde tiene permisos. Aquí, intente crear un nuevo directorio para confirmar que todo funciona según lo previsto:
    sftp> cd sftpuser
    sftp> mkdir sftp-test
    sftp> ls
    sftp-test          
    sftp>
    

Iniciar sesión en SFTP usando GUI

Si prefiere usar una aplicación GUI para conectarse a su servidor SFTP, hay muchas opciones disponibles. Puede usar su cliente SFTP preferido o el integrado en Ubuntu 22.04 de forma predeterminada:el administrador de archivos Nautilus en GNOME.

  1. Abra el administrador de archivos Nautilus desde el menú Aplicaciones.
  2. Haga clic en "Otras ubicaciones" e ingrese sftp://127.0.0.1 en el cuadro "Conectar al servidor" en la parte inferior de la ventana y haga clic en conectar.
  3. Ingrese las credenciales de la cuenta SFTP que configuramos anteriormente y haga clic en conectar.
  4. Después de una conexión exitosa, podrá abrir su directorio de inicio y ver el directorio de prueba que creó anteriormente.

Pensamientos finales

En el artículo Servidor SFTP, vimos cómo crear un servidor SFTP y luego iniciar sesión en él en Ubuntu 22.04 Jammy Jellyfish Linux. También cubrimos cómo usar la línea de comando y la GUI de Ubuntu para conectarse al servidor FTP.

En este artículo, vimos cómo proteger el protocolo FTP configurando SFTP en nuestro sistema. Siguiendo las instrucciones de esta guía, las computadoras en su red local o a través de Internet pueden acceder de forma segura a su sistema para almacenar y recuperar archivos, ya sea a través de la línea de comandos o su cliente SFTP preferido.


Ubuntu
  1. Cómo configurar el servidor SFTP en Ubuntu 20.04 Focal Fossa Linux

  2. Cómo configurar y usar el servidor FTP en Ubuntu Linux

  3. Cómo configurar el servidor SFTP de MySecureShell en Ubuntu 18.04

  4. Cómo habilitar el servidor SSH en Ubuntu 22.04 Jammy Linux

  5. Cómo configurar SSH sin contraseña en Linux

Cómo configurar el recurso compartido del servidor Samba en Ubuntu 22.04 Jammy Jellyfish Linux

Cómo instalar Go en Ubuntu 22.04 Jammy Jellyfish Linux

Cómo instalar MATLAB en Ubuntu 22.04 Jammy Jellyfish Linux

Cómo instalar VMware Workstation en Ubuntu 22.04 Jammy Jellyfish Linux

Cómo instalar RStudio en Ubuntu 22.04 Jammy Jellyfish Linux

Habilite SSH en Ubuntu 22.04 Jammy Jellyfish Linux

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Ubuntu 22.04 Medusa Jammy
    Software demonio SSH
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios