1. SSH란?
SSH는 Secure Shell의 약자이다. 서버에 안전하게 접속하기 위한 원격 접속 통신 방식이다.
쉽게 말하면, 내 컴퓨터에서 다른 서버에 접속해 명령어를 실행할 수 있게 해주는 보안 통신 기술 이라고 생각하면 된다.
예를 들어 아래와 같은 작업을 할 때 SSH를 사용한다.
- AWS EC2 서버 접속
- 리눅스 서버 관리
- 원격 명령어 실행
- 서버 파일 수정
- 프로그램 실행 및 배포
개발자나 서버 관리자는 거의 필수적으로 사용하는 기술이다.
2. SSH는 왜 사용하는가?
과거에는 Telnet이라는 원격 접속 방식이 많이 사용되었다. 하지만 Telnet은 보안이 매우 약했다. 아이디와 비밀번호가 암호화되지 않은 상태로 네트워크에 전달되었기 때문이다.
SSH는 이러한 문제를 해결하기 위해 등장했다. SSH는 데이터를 암호화하여 전송하기 때문에 훨씬 안전하다.
3. SSH는 왜 안전한가?
SSH는 기본적으로 암호화 통신을 사용한다.
즉,
내 PC <-> 서버
사이에서 오가는 데이터가 암호화된다. 따라서 중간에서 누군가 데이터를 가로채더라도 내용을 쉽게 확인할 수 없다.
특히 SSH는 단순 비밀번호 방식보다 더 안전한
Key 기반 인증 방식
을 많이 사용한다.
이때 등장하는 개념이 바로
- Public Key
- Private Key
4. Public Key / Private Key란?
SSH 접속에서 가장 중요한 개념이다. SSH는 보통 비밀번호 대신 "Key 인증 방식"을 사용한다.
이때 두 개의 키가 사용된다.
| 종류 | 설명 |
| Public Key | 공개키 |
| Private Key | 개인키 |
두 키는 서로 연결된 한 쌍이다.
- Public key 란?
정의: Public Key는 서버에 저장되는 공개키이다. 외부에 공개되어도 비교적 안전하다.(역할은 쉽게 말해 "자물쇠"이다.)
=> 서버는 이 Public Key를 기준으로 접속 가능한 사용자인지 확인한다. - Private Key란?
정의: Private Key는 사용자가 직접 보관하는 개인키이다. 절대 외부에 유출되면 안 된다. (역할은 "열쇠"라고 생각)
=> 유출시 다른 사람이 서버에 접속할 수 있다.
5. SSH 인증 구조 이해하기
쉽게 비유하면 아래와 같다.
Public Key = 자물쇠
Private Key = 열쇠
서버에는 Public Key라는 자물쇠가 걸려 있다. 사용자는 Private Key라는 열쇠를 활용해 접속을 시도한다.
*단, server에 직접 private key를 보내는게 아니다!
Private Key는 철벽 보안: 열쇠(Private Key)는 절대 네트워크를 타고 서버로 가지 않습니다.
오직 내 PC에만 저장됩니다.
인증 원리 (Challenge-Response):
1. 서버: "이 암호화된 문제 풀 수 있어?" (Challenge)
2. 내 PC: (내 열쇠로 문제를 풀어서) "정답은 이거야!" (Response)
결론: 열쇠를 직접 보여주지 않고도, 문제를 푸는 능력만 보여줌으로써 주인임을 증명하는 아주 영리한 방식입니다.

6. AWS EC2에서는 어떻게 사용될까?
AWS EC2 서버를 생성할 때는 Key Pair를 함께 생성한다. Key Pair는 말 그대로 두 개의 키가 한 쌍으로 구성된 인증 정보이다.
Key Pair = Public Key + Private Key
AWS EC2에서는 key pair(public, private key) 이용해 SSH 접속 인증을 처리한다.
| 구분 | 저장 위치 | 역할 |
| Public Key | EC2 서버 내부 | 접속 요청 검증 |
| Private Key | 사용자 PC | 접속 인증용 열쇠 |
.pem 파일 = AWS EC2 접속에 사용하는 Private Key
* AWS에서 다운로드받는 Private Key 파일의 확장자는 보통 .pem이다.
- .pem 파일이란?
AWS에서 제공하는 Private Key 파일이다.
구분 주요 특징 및 주의사항 최초 다운로드 인스턴스 생성 시 딱 한 번만 가능! 분실 시 재다운로드가 불가능하니 백업 필수. 보안 유지 .pem 파일이 유출되면 누구나 내 서버에 접속할 수 있다. (서버 프리패스권) 금기 사항 GitHub Public 저장소에 절대 업로드 금지! (업로드 즉시 해킹 타겟이 됩니다.)
7. 최종 요약
| 항목 | 설명 |
| SSH | 서버 원격 접속 보안 통신 |
| Public Key | 서버에 저장되는 자물쇠 |
| Private Key | 사용자가 가진 열쇠 |
| Key Pair | Public + Private 한 쌍 |
| .pem | AWS에서 제공하는 Private Key |
'Tech Stack' 카테고리의 다른 글
| mRemoteNG 다운로드 및 사용방법 (AWS 서버 연결) (0) | 2026.05.30 |
|---|---|
| PuTTY 사용법 정리 (AWS EC2 SSH 서버 접속) (0) | 2026.05.15 |
| 심볼릭 링크(Symbolic) 정의 및 사용 방법 (0) | 2026.05.14 |
| Cvat 활용 라벨링 방법 (0) | 2026.05.04 |
| 펌웨어(Firmware)란? (0) | 2026.05.04 |
