brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Sep 02. 2019

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

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

SFTP 서버 만들자



<1> 구성


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

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 서버 생성  (디폴트) 



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열어 한줄로 만들고, 넣으면 해결 된다.!!


파일 올리기 



S3 버킷에 올라온 파일 확인 




2)  winscp로  테스트

sftp client 로 접속 하기.


sftp client download 

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


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


감사합니다.




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari