SSH(Secure SHell)이란?개발자 역량2024. 7. 14. 02:46
Table of Contents
728x90
SSH란...
제가 코딩 뿐만 아니라
CI/CD에 관심을 많이 가지게 되면서
정말 자주 등장하는 용어입니다.
AWS, 가상머신, putty 등등
많은 곳에서 볼 수 있는 용어인데요.
정확하게 무엇인지 정리해보려 합니다.
SSH란?
: 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜
- 클라우드 서비스에서 제공하는 보안 과정(EC2 등...)
- Shell? : 명령어와 프로그램 사용 시 쓰는 인터페이스
- 기존엔 텔넷 방식 사용 => 데이터 암호화 제공 X => 보안 ⬇️
SSH 작동 원리
- SSH를 구성하는 가장 핵심적인 키워드 : KEY
- 사용자(클라이언트)와 서버(원격 호스트)는 각각의 키를 보유함
=> 해당 키를 사용하여 연결 상대를 인증 - KEY 생성 방식에는 2가지 존재
1. 대칭 키
2. 비대칭 키(public(공개키))- 비대칭 키의 작동 방식
1. 사용자와 서버가 서로의 정체를 증명해야 함
=> 해당 시점에서 사용되는 것이 비대칭 키 방식
2. 서버 or 사용자가 Key Pair 생성
- Key Pair : 공개 키(.pub) + 개인키(.pem)
3. 사용자가 서버에 공개키를 전송
4. 서버는 공개 키를 받아, 공개 키로 만들어진 랜덤 값을 생성
=> 해당 값은 사용자가 올바른 Key Pair 가지고 있는 지 시험하는 일종의 시험지 역할
5. 사용자는 랜덤 값을 받아 개인키(.pem)을 이용하여 해독
6. 해독한 값을 서버에 다시 전송
7. 서버에서 검사 후 연결
- 비대칭 키의 작동 방식
- 사용자(클라이언트)와 서버(원격 호스트)는 각각의 키를 보유함
ssh-keygen
: Key Pair 생성 시 사용되는 명령어
- 비대칭 키 Key Pair 생성 : 공개키 + 비공개 키(공개키(.pub) + 개인키(.pem))
- 공개 키는 서버에 복사, 비공개 키는 클라이언트(로컬 컴퓨터)
- 기본적으로 키는 사용자의 홈 디렉토리 아래 ~/.ssh 에 저장됨
- 여러 유형의 키 존재
ex) RSA, DSA, ECDSA, ED25519 emd
728x90
@or-else :: orElse의 팔만대장경
안녕하세요. 성장하고 싶은 개발자 orElse입니다. 지켜봐주세요.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!