¿Cómo configuro ftp/sftp en aws?

¿Cómo configuro ftp/sftp en aws?

Quiero compartir archivos con un cliente a través de Internet y estoy buscando soluciones ftp en AWS. Probé AWS SFTP, pero establecer políticas de roles es complicado y el servicio parece un poco costoso para mi caso de uso básico. ¿Existe una forma alternativa de configurar un servidor ftp en EC2 o S3 al que puedan acceder los usuarios que no son de AWS? Quiero agregar permisos de lectura para diferentes usuarios para diferentes subdirectorios. Estoy usando macosx.

Intenté seguir instrucciones enhttps://stackoverflow.com/questions/7052875/setting-up-ftp-on-amazon-cloud-serverpero no está claro cómo puedo permitir que los usuarios que no son de AWS vean mis archivos y no pude hacer que vsftpd funcionara.

¿Existe una configuración de AWS estándar/recomendada para compartir archivos con usuarios que no son de AWS, preferiblemente de forma segura (SFTP)? Compartiría archivos actualizados varias veces al día todos los días con cientos de usuarios.

Respuesta1

Si no desea utilizar AWS Transfer para SFTP, es posible configurar su servidor SFTP directamente desde una instancia EC2.

Si sigue correctamente estas instrucciones, debería poder crear sus usuarios SFTP con bastante facilidad. En mi caso específico utilicé una instancia micro T2 con Ubuntu 18.04

  1. vamos a instalaropenSSH
sudo apt-get install openssh-server
  1. Debes crear un grupo específico donde encarcelarás a los usuarios.
sudo groupadd sftpusers
  1. Edite /etc/ssh/sshd_configusando vim o nano
    Comente #Subsystem sftp /usr/lib/openssh/sftp-server
    Luego, en su lugar, agregue Subsystem sftp internal-sftppara permitir conexiones SFTP en su servidor.
    Por último, al final del archivo, especifique las nuevas configuraciones del grupo.
Match group sftpusers
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
        PasswordAuthentication yes
  1. En este punto /etc/ssh/sshd_configdebería verse así:
(...)

#Subsystem sftp /usr/lib/openssh/sftp-server

(...)

Subsystem sftp internal-sftp

Match group sftpusers
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
        PasswordAuthentication yes
  1. Debe reiniciar el servicio ssh para aplicar los cambios.
sudo service ssh restart
  1. Ahora debería estar configurado para crear un nuevo usuario.
    Siga las diferentes instrucciones del comando a continuación e ingrese la contraseña de usuario.
sudo adduser user1
  1. Agreguemos nuestro nuevo usuario al grupo sftp que creamos anteriormente.
sudo usermod -g sftpusers user1
sudo usermod -s /bin/nologin user1
  1. En este punto, lo último que debemos hacer es encarcelar a nuestro usuario dentro del /home/<user>directorio.
sudo chown root:user1 /home/user1
sudo chmod 755 /home/user1

Puede crear nuevas carpetas que pertenezcan al usuario usando

sudo mkdir /home/user1/new_folder
sudo chown user1:user1 /home/user1/new_folder
sudo chmod 755 /home/user1/new_folder

yo creéesterepositorio hace unos días que automatiza este proceso

información relacionada