EC2 Instance
EC2 서버
- 빈 컴퓨터, 인프라 제공
- 로컬에서 IP주소를 이용해 원격 접속을 함
- IP주소:22
- 그런데 ec2 서버는 방화벽으로 모든 포트를 차단하고 있음
- 원격 접속을 하기 위해서, 인바운드 규칙에서 22번 포트를 개방해야 함
- 22번
- SSH
- Secure Shell
- 암호화된 명령어
EC2 서버 접속하는 법
- 터미널 열고 생성한 키패어가 있는 디렉토리 경로로 이동
- 권한 확인 ls -al
- 권한 추가 chmod 700 aws-key.
- before
- after
- ssh -i aws-key.pem ubuntu@3.39.249.76
- ssh -i /Users/wisdom/Downloads/aws-key.pem ubuntu@3.39.249.76
서버 접속 후, 원격에서 shell 명령이 가능하게 됨
IP, Packet, Port
네트워크 전달 방식
서킷 스위칭
패킷 스위칭
- 선이 늘어날 필요가 없기 때문에 비용이 적게든다.
- 라우터 필요
- 패킷으로 분해해서 보내야 함
- 헤더(데이터 설명)
- 포트번호
- IP 주소
IP 주소
- 인터넷에 연결된 각 장치의 연결을 식별하기 위해 TCP/IP 프로토콜 그룹의 IP 계층에서 사용되는 식별자
- IPv4 방식
- IPv6 방식
- 포트번호
- 정수값
- 프로그램 선택
RSA
대칭키
-키 전송에 문제가 있음
-열 때, 잠글 때 동일한 키를 사용한다.
-열쇠 교환 자체도 통신이기 때문에 가로챌 수도 있고 힘들다는 단점
- 공개키, 비밀키
- 대칭키 방식과 달리 키 교환이 필요없다.
- 공개키 기반 암호화 방식의 대표적인 알고리즘이 RSA다.
- 데이터 암호화를 상대방의 공개키로 잠근다.
- 누가 보냈는지?가 중요한데 데이터를 상대방의 공개키로 잠그고 본인의 비밀키로 한 번 더 잠근다.
데이터 전송 방법
- 데이터를 수신자의 공개키로 잠근다.
- 암호화
- 그 데이터를 다시 송신자의 비밀키로 잠근다.
- 전자서명
- 전송한다.
데이터 받는 방법
- 데이터를 송신자의 공개키로 연다.
- 서명 검증
- 열리면, 수신자의 개인키로 연다.
- 암호화된 데이터를 복호화
- AWS 서버 내 authorized_key
- 접속하려는 클라이언트의 공개키
- 클라이언트의 비밀키로 접속해야함
- 22번 포트 통과!
- 클라이언트의 비밀키로 authorized_key가 풀리는지 확인해야 한다.
- 전자서명을 통해서 인증을 하는 것
- 인증 후에 세션이 생성되고 자유롭게 통신할 수 있다.
그래서 aws 서버에 접속하기 위해서는 pem 키가 필요하다!