Engineering

ssh-keygen을 활용한 AWS Transfer Family(sftp) 연동

망고v 2023. 8. 21. 09:27

AWS Transfer Family 서비스를 이용하여 구성된 sftp Server에 User를 추가 등록하고 연동한다.

 

 

public&private key 생성

Localhost에서 아래와 같이 명령어를 수행 

➜  ~ ssh-keygen -m PEM -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/{{localhost}}/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/{{localhost}}/.ssh/id_rsa
Your public key has been saved in /Users/{{localhost}}/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:{{문자열}} {{localhost}}@{{device}}.local
The key's randomart image is:
+---[RSA 2048]----+
|  o.=o=.. ...+o  |
| . =o= . . .o.o  |
|  +oo .   .  o + |
| . o.o   .    =  |
|  E . . S + oo   |
|     . . + O.    |
|      . o O.o    |
|       o +.=..   |
|      . o++.o.   |
+----[SHA256]-----+

.ssh 폴더 이하 id_rsa(private key)와 id_rsa.pub(public key) 가 아래와 같이 생성

 

 

sftp 서버 User(private key) 등록

AWS Transfer Family - User 등록 화면에서 Add SSH public key 를 Click하여 등록 진행

SSH public key 입력 항목에는 Localhost에서 생성된 id_rsa.pub(public key) 내용을 입력하고 Add key Click

 

 

점검

일반적인 sftp와 동일하게 접근을 시도하면 Public Key를 기반으로 sftp 서버에 접근

➜  .ssh sftp {{UserId}}@{{TargetIp}}
The authenticity of host '{{TargetIp}} ({{TargetIp}})' can't be established.
RSA key fingerprint is SHA256:{{문자열}}.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '{{TargetIp}}' (RSA) to the list of known hosts.
Connected to {{TargetIp}}.
sftp>

최초 접속 이 후, .ssh 폴더 이하 known_hosts에 {{TargetIp}} 와 Public Key 정보가 매핑되어 행 추가

 

➜  .ssh sftp {{UserId}}@{{TargetIp}}
Connected to {{TargetIp}}.
sftp>

이 후, 위와 같이 별도 확인 절차 없이 접근 가능

 

 

'Engineering' 카테고리의 다른 글

VPN 대신 VDI 활용해보기  (1) 2024.05.27