brunch

149. AWS SFTP서비스 사용하기1

by Master Seo

SFTP 서비스를 이용해 S3에 데이터를 넣고 관리하고자 한다.

SFTP 서버 만들자



<1> 구성


sftp client (Linux,Mac) -------- sftp 서비스 --- s3

슬라이드1.JPG

1. 테스트 리눅스 서버 1대 생성 (sftp-client)

2. S3 버킷 생성 : 데이터가 s3에 저장 (필수) s3-sftp-access-500 , 디폴트 not public으로

3. S3에 접근할수 있는 권한 생성

IAM role Create > EC2 > s3 full access> s3-sftp-access-500-role > Trust relationships 설정

4. SFTP 서버 생성 (디폴트)

5. SFTP 접속 계정 생성 500 , s3-sftp-access-500-role , Home : s3-sftp-500 지정, public 키 생성

6. 접속 테스트





<2> 작업


1. 테스트 리눅스 서버 1대 생성


2. S3 버킷 생성 : 데이터가 s3에 저장 (필수) s3-sftp-access-500 , 디폴트 not public으로


3. S3에 접근할수 있는 권한 생성

IAM role Create > EC2 > s3 full access> s3-sftp-access-500-role > Trust relationships 설정


추가 작업으로 Edit Trust Relationship 필수


{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "transfer.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}




4. SFTP 서버 생성 (디폴트)

40 sftp.png



5. SFTP 접속 계정 생성 500 , s3-sftp-access-500-role , Home : s3-sftp-500 지정, public 키 생성


publc key 만들기 ssh-keygen -P "" -f key_name


ssh-keygen -P "" -f s33


[root@ip-10-0-0-108 ~]# ls

s33 s33.pub


[root@ip-10-0-0-108 ~]# more s33.pub

public Key를 넣는다.




6. 접속 테스트



1) 리눅스나 MAC에서 접속 테스트 하기


sftp -i <key> <사용자>@<SFTP 서버 URL >


[root@ip-10-0-0-108 ~]# sftp -i s33 500@s-bf1b2b4c71f64b17b.server.transfer.ap-northeast-2.amazonaws.com


Permission denied (publickey).

Couldn't read packet: Connection reset by peer


에러 나는경우는 Public키를 notepad열어 한줄로 만들고, 넣으면 해결 된다.!!


100 sftp public.png

파일 올리기

250 cmd.png



S3 버킷에 올라온 파일 확인

300.png




2) winscp로 테스트

sftp client 로 접속 하기.


sftp client download

https://winscp.net/eng/download.php


Linux 나 MAC에서 만든 Private Key를 winscp > 고급 > ssh > 인증 에서 불러와 접속해 사용한다.


감사합니다.




keyword
매거진의 이전글148. 사용자 IP로 AWS 사용 제한하기