숨겨진 폴더를 보이지 않는 SFTP로 만들기

숨겨진 폴더를 보이지 않는 SFTP로 만들기

내 클라이언트에는 파일 공유를 위해 SFTP 서버가 필요했기 때문에 Amazon EC2 우분투 시스템에 SFTP 서버를 만들고 다른 사용자를 추가했습니다.

이제 사용자가 Winscp나 다른 클라이언트를 통해 SFTP 서버에 로그인할 때 홈 디렉터리에 있는 자신의 폴더만 볼 수 있어야 하고 다른 폴더는 볼 수 없어야 합니다. 또한 홈 디렉터리에는 점(.)으로 시작하는 파일이나 폴더가 표시되어서는 안 됩니다.

이것이 가능한가? 예를 들어 아래 스크린샷 링크를 참조하세요. 클라이언트가 Transcript 폴더를 보거나 액세스할 수 있도록 하고 싶습니다.

https://i.stack.imgur.com/kEHfW.png

답변1

모두에게 감사드립니다. 마침내 이 링크가 제 작업을 달성하는 데 도움이 되었습니다.http://rmtheis.wordpress.com/2011/07/03/setting-up-an-sftp-site-on-amazon-web-services-ec2-creating-an-account-to-share-with-a- 타사 및 해당 계정을 제한하여 SFTP만 허용/

이는 세 부분으로 구성됩니다.

  • EC2에 sftp 사이트 설정
  • 새 사용자 계정 만들기
  • SSH 권한 없이 읽기 전용 FTP를 수행하도록 새 사용자 계정 구성

이는 신뢰할 수 있는 사용자와 파일을 전송하기 위한 것입니다. 저는 해당 작업 전용 EC2 인스턴스를 사용하여 때때로 매우 큰 파일을 클라이언트에 보내기 위한 적절한 솔루션으로 이것을 사용합니다. 전송이 완료된 후 인스턴스를 종료하거나 삭제합니다.

Ubuntu Amazon Machine Image(AMI)를 선택하고 Amazon Web Services EC2를 사용하여 서버를 설정합니다. (다음을 사용하여 AMI를 찾을 수 있습니다. http://cloud.ubuntu.com/ami/. ami-1aad5273과 같이 무료 등급에 적합한 것을 선택할 수도 있습니다.

SSH를 통해 서버에 접속합니다:

ssh -i keyfile.pem [email protected]

vsftpd를 설치합니다:

sudo apt-get install vsftpd

새 사용자를 생성합니다:

sudo adduser newusername

AWS Management Console을 사용하여 타사 사용자를 위한 새 키 페어를 생성합니다.

puttygen을 사용하여 새 키(keyname.pem)를 가져오고 공개 키를 복사합니다.

서버에서 새 사용자를 위한 .ssh 디렉터리를 만듭니다.

sudo mkdir /home/newusername/.ssh

공개 키를 에 붙여넣습니다 /home/newusername/.ssh/authorized_keys.

권한 설정:

sudo chmod 700 /home/newusername/.ssh

sudo chmod 600 /home/newusername/.ssh/authorized_keys

sudo chown -R newusername:newusername /home/newusername/.ssh

로컬 컴퓨터에서 새 사용자의 SFTP 로그인을 테스트합니다.

sftp -o IdentityFile=newkeypair1.pem
[email protected]

SFTP만 사용하도록 제한해야 하는 사용자를 위한 새 그룹을 만듭니다.

sudo groupadd sftponly

sudo adduser newusername sftponly

/etc/ssh/sshd_configSubsystem 행을 편집 하고 다음으로 변경하십시오.

Subsystem sftp internal-sftp

다음 줄을 끝에 추가하세요 /etc/ssh/sshd_config.

Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

EC2의 키 기반 인증에 필요한 파일을 방해하지 않고 권한을 설정합니다.

sudo chown root:root /home/newusername

sudo chown -R newusername:newusername /home/newusername/.ssh

sudo /etc/init.d/ssh restart

이제 새 사용자는 sftp로는 연결할 수 있지만 ssh로는 연결할 수 없습니다. 공유하려는 파일을 에 배치 /home/newusername하고 키를 사용자와 공유하세요.

관련 정보