인터넷을 통해 클라이언트와 파일을 공유하고 싶고 AWS에서 FTP 솔루션을 조사하고 있습니다. aws sftp를 사용해 보았지만 역할 정책 설정이 어색하고 기본 사용 사례에 비해 서비스 비용이 약간 비싼 것 같습니다. AWS가 아닌 사용자가 액세스할 수 있는 EC2 또는 S3에 FTP 서버를 설정하는 다른 방법이 있습니까? 다른 하위 디렉터리에 대해 다른 사용자에게 읽기 권한을 추가하고 싶습니다. 저는 macosx를 사용하고 있습니다.
나는 다음 지시 사항을 시도했다.https://stackoverflow.com/questions/7052875/setting-up-ftp-on-amazon-cloud-server그러나 aws가 아닌 사용자에게 내 파일을 보도록 권한을 부여하는 방법은 명확하지 않으며 vsftpd를 작동시킬 수 없습니다.
비 aws 사용자와 파일을 공유하기 위한 권장/표준 aws 설정이 있습니까? 가급적이면 안전하게(sftp). 저는 매일 수백 명의 사용자와 업데이트된 파일을 하루에도 몇 번씩 공유하곤 했습니다.
답변1
SFTP용 AWS 전송을 사용하지 않으려면 EC2 인스턴스에서 직접 SFTP 서버를 설정할 수 있습니다.
이 지침을 올바르게 따르면 SFTP 사용자를 아주 쉽게 만들 수 있습니다. 제 경우에는 Ubuntu 18.04와 함께 마이크로 T2 인스턴스를 사용했습니다.
- 설치하자
openSSH
sudo apt-get install openssh-server
- 사용자를 감옥에 넣을 특정 그룹을 만들어야 합니다.
sudo groupadd sftpusers
/etc/ssh/sshd_config
vim 또는 nano를 사용하여 편집
주석 처리 그런 다음 대신 서버에 대한 SFTP 연결을 허용하도록#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
- 이 시점에서 다음
/etc/ssh/sshd_config
과 같아야 합니다:
(...)
#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
- 변경 사항을 적용하려면 SSH 서비스를 다시 시작해야 합니다.
sudo service ssh restart
- 이제 새 사용자를 생성하도록 설정되어야 합니다.
아래 명령의 다른 지침을 따르고 사용자 비밀번호를 입력하십시오.
sudo adduser user1
- 이전에 생성한 sftp 그룹에 새 사용자를 추가해 보겠습니다.
sudo usermod -g sftpusers user1
sudo usermod -s /bin/nologin user1
- 이 시점에서 마지막으로 해야 할 일은 사용자를
/home/<user>
디렉터리 안에 가두는 것입니다.
sudo chown root:user1 /home/user1
sudo chmod 755 /home/user1
다음을 사용하여 사용자에게 속한 새 폴더를 만들 수 있습니다.
sudo mkdir /home/user1/new_folder
sudo chown user1:user1 /home/user1/new_folder
sudo chmod 755 /home/user1/new_folder
내가 만들었다이것며칠 전 이 프로세스를 자동화한 저장소