쉘(Shell) : 명령어를 입력하여 컴퓨터를 제어하는 방식
SSH (Secure Shell) : 명령어를 입력하여 보다 안전하게 원격 서버를 제어하고 통신하기 위한 프로토콜 혹은 이러한 프로토콜을 사용하는 프로그램들을 의미합니다.
데이터 전송
원격 제어
EC2에 접근하는 Key Pair의 보안 방식은 Public Key 암호화 기법을 사용합니다. 이는 Public Key를 사용하여 데이터를 암호화하고, 수신자가 Private Key를 사용하여 해당 데이터를 복호화하는 방식입니다.
Public Key와 Private Key로 구성된 Key Pair는 EC2 인스턴스에 연결할 때 로그인 정보를 증명하는데 사용하는 일종의 보안 자격 증명 세트입니다. Public Key 암호화 기법을 사용하면 암호 대신 Private Key를 사용하여 인스턴스에 안전하게 접근할 수 있습니다.
이는
비대칭키 암호화 방식으로, 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 다릅니다. 일반적으로 공개하는 Public Key와 절대 노출하지 않는 Private Key가 있으며, 이 둘을 Key Pair라고 합니다.
- 서버에서 Key Pair 발급 후 Public Key를 사용자에게 전달 합니다.
- 사용자는 데이터를 암호화 할 때 서버에서 받은 Public Key을 사용 합니다.
- 서버는 사용자가 보낸 암호화된 데이터를 Private Key로 복호화 하여 내용을 확인 합니다.
- if(서버가 복호화한 내용 === 사용자가 전송한 메세지) 서버는 사용자가 작성한 메세지라는 것을 확신할 수 있습니다.
SSH를 이용하여 EC2 Instance에 접속하기 전에 해당 EC2 Instance를 생성하는 과정에서 선택했던 Key Pair가 준비되어 있어야 합니다.
EC2 Instance에 해당하는 Key Pair, 즉 pem 파일이 위치한 디렉토리로 이동합니다.
다음의 명령어를 이용해 SSH 접속합니다.
# EC2 Instance Type이 Ubuntu인 경우
ssh -i 파일명.pem ubuntu@EC2-PublicIP
# EC2 Instance Type이 Linux인 경우
ssh -i 파일명.pem ec2-user@EC2-PublicIP