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
- Vamos instalar
openSSH
sudo apt-get install openssh-server
- Você precisa criar um grupo específico onde irá prender os usuários.
sudo groupadd sftpusers
- Edite
/etc/ssh/sshd_config
usando vim ou nano
Comente#Subsystem sftp /usr/lib/openssh/sftp-server
Em vez disso, adicioneSubsystem sftp internal-sftp
para 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
- Neste ponto você
/etc/ssh/sshd_config
deve 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
- Você precisa reiniciar o serviço ssh para aplicar as alterações.
sudo service ssh restart
- 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
- Vamos adicionar nosso novo usuário ao grupo sftp que criamos anteriormente.
sudo usermod -g sftpusers user1
sudo usermod -s /bin/nologin user1
- 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