SSH
쉘(Shell)은 명령어를 입력하여 컴퓨터를 제어하는 방식입니다. 따라서 SSH(Secure Shell)이란 명령어를 입력하여 보다 안전하게 원격 서버를 제어하고 통신하기 위한 프로토콜 혹은 이러한 프로토콜을 사용하는 프로그램들을 의미합니다. SSH가 사용되는 대표적인 예시는 아래와 같습니다.
- 데이터 전송
- 소스 코드를 Github과 같은 원격 저장소에 push 하기
- Linux 명령어 중 하나인 scp 명령어를 통해 네트워크로 연결되어 있는 호스트들끼리 파일 주고 받기
- 원격 제어
- EC2와 같은 원격 서버를 제어하기 위해 해당 서버로 접속하기
SSH를 이용하여 실행중인 EC2 Instance에 접속하기
EC2에 접근하는 Key Pair의 보안 방식은 Public Key 암호화 기법을 사용합니다. 이는 Public Key를 사용하여 데이터를 암호화하고, 수신자가 Private Key를 사용하여 해당 데이터를 복호화하는 방식입니다. Public Key와 Private Key로 구성된 Key Pair는 EC2 인스턴스에 연결할 때 로그인 정보를 증명하는데 사용하는 일종의 보안 자격 증명 세트입니다. Public Key 암호화 기법을 사용하면 암호 대신 Private Key를 사용하여 인스턴스에 안전하게 액세스할 수 있습니다.
우선 SSH를 이용하여 EC2 Instance에 접속하기 전에 해당 EC2 Instance를 생성하는 과정에서 선택했던 Key Pair가 준비되어 있어야 합니다.
1. EC2 Instance에 해당하는 key-pair, 즉 pem 파일이 위치한 디렉토리로 이동합니다.
2. SSH 접속을 하기 위해 다음과 같은 명령어를 입력합니다.
# EC2 Instance Type이 Ubuntu인 경우
ssh -i 파일명.pem ubuntu@EC2-PublicIP
publicIP 는 아마존 EC2에 작성되어있습니다.ㅎㅎ
명렁어를 입력하니 다음과 같은 경고문이 출력되고 의도와는 다르게 접속이 되지 않는 것을 볼 수 있습니다. 해당 경고문을 자세히 살펴보면 Permissions 0644 for ‘Demo.pem’ are too open.이라는 문구를 볼 수 있습니다. 간단하게 해석해보면 pem 파일의 권한 0644는 너무 많이 오픈되어있다. 라는 의미이고, 이는 보다 안전하게 관리해야 할 pem 파일에 너무 많은 권한이 주어졌을 경우 발생하는 경고입니다. 따라서 다음과 같은 명령어를 입력하여 권한을 수정합니다.
chmod 400 파일이름.pem
3. 다시 한 번 더 EC2 Instance에 접속을 시도합니다. 이전과는 다르게 잘 접속한 것을 확인할 수 있습니다. 만약 아래 사진과는 다르게 접속이 되지 않고 다른 에러가 발생한다면 접속하려는 EC2 Instance의 보안 그룹 규칙 확인 혹은 Public IP를 통해 접속하였는지 다시 한 번 확인하시기 바랍니다.
접속 완료하면 아마존 서버에 새로운 저의 컴퓨터?가 생긴 느낌입니다.
sudo apt update를 한번 슥~ 해주면 될 듯 합니다.
'코딩 개발' 카테고리의 다른 글
AWS - RDS (0) | 2022.11.24 |
---|---|
PM2를 활용한 프로세스 백그라운드 실행 (0) | 2022.11.24 |
[AWS] Security Groups & Ports (0) | 2022.11.24 |
[AWS] EC2 (0) | 2022.11.23 |
Mysql transaction (0) | 2022.11.22 |