Como configuro FTP/Sftp no AWS

Como configuro FTP/Sftp no AWS

Quero compartilhar arquivos com um cliente pela internet e estou procurando soluções de FTP no AWS. Eu tentei o aws sftp, mas definir políticas de função é complicado e o serviço parece um pouco caro para meu caso de uso básico. Existe uma maneira alternativa de configurar um servidor FTP no EC2 ou S3 que usuários não-AWS possam acessar. Quero adicionar permissões de leitura para diferentes usuários em diferentes subdiretórios. Estou usando o macosx.

Eu tentei seguir as instruções emhttps://stackoverflow.com/questions/7052875/setting-up-ftp-on-amazon-cloud-servermas não está claro como posso permitir que usuários não-AWS vejam meus arquivos e não consegui fazer o vsftpd funcionar.

Existe uma configuração recomendada/padrão do AWS para compartilhar arquivos com usuários que não são do AWS, de preferência com segurança (sftp). Eu compartilharia arquivos atualizados algumas vezes por dia, todos os dias, com centenas de usuários.

Responder1

Se você não quiser usar o AWS Transfer for SFTP, é possível configurar seu servidor SFTP diretamente de uma instância EC2.

Se você seguir corretamente estas instruções, poderá criar seus usuários SFTP com bastante facilidade. No meu caso específico usei uma instância micro T2 com Ubuntu 18.04

  1. Vamos instalaropenSSH
sudo apt-get install openssh-server
  1. Você precisa criar um grupo específico onde irá prender os usuários.
sudo groupadd sftpusers
  1. Edite /etc/ssh/sshd_configusando vim ou nano
    Comente #Subsystem sftp /usr/lib/openssh/sftp-server
    Em vez disso, adicione Subsystem sftp internal-sftppara permitir conexões SFTP em seu servidor
    Por último, no final do arquivo especifique as novas configurações do grupo
Match group sftpusers
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
        PasswordAuthentication yes
  1. Neste ponto você /etc/ssh/sshd_configdeve estar assim:
(...)

#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. Você precisa reiniciar o serviço ssh para aplicar as alterações.
sudo service ssh restart
  1. Agora você deve estar configurado para criar um novo usuário.
    Siga as diferentes instruções do comando abaixo e insira a senha do usuário.
sudo adduser user1
  1. Vamos adicionar nosso novo usuário ao grupo sftp que criamos anteriormente.
sudo usermod -g sftpusers user1
sudo usermod -s /bin/nologin user1
  1. Neste ponto, a última coisa que precisamos fazer é prender nosso usuário dentro do /home/<user>diretório.
sudo chown root:user1 /home/user1
sudo chmod 755 /home/user1

Você pode criar novas pastas que pertençam ao usuário usando

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

eu crieiesserepo há alguns dias que automatiza esse processo

informação relacionada