[환경구축][쿠버네티스][TIL]가상 서버 + SSH 공개키 인증 설정

2025. 8. 26. 13:00대외활동/인공지능사관학교

728x90
반응형
SMALL

쿠버네티스 실습 환경을 만들면서 가장 먼저 부딪힌 부분이 바로 SSH 접속 환경이었다. 가상 서버를 띄우고도 OpenSSH가 없으면 접속조차 못 하고, 공개키 인증을 설정하지 않으면 매번 비밀번호를 입력해야 했다.
오늘은 쿠버네티스 실습 환경을 만들면서 겪었던 SSH 접속 환경 설정 과정을 정리해봤다. 이번 과정을 정리하면서, 앞으로 서버 환경을 세팅할 때 초기 보안 설정과 편의성 확보를 동시에 챙길 수 있다는 점을 기록해 두고자 한다.

 

1. 가상 서버 생성 시 OpenSSH 여부

  • 대부분의 클라우드 VM 이미지(Ubuntu, CentOS 등)에는 OpenSSH Server가 기본 포함되어 있다.
  • 하지만 Minimal 이미지를 선택하면 빠져 있을 수 있다.
  • 이 경우 서버에 직접 들어가서 설치해야 한다.
# cmd 창에서 ssh 계정@ip 들어간 환경에서 실행하기!
sudo apt update
sudo apt install -y openssh-server
# 설치 후 확인
systemctl status ssh

2. SSH 공개키 발급 & 등록

1) 로컬에서 키 발급

# 윈도우 cmd 창에서 실행하기! 
ssh-keygen -t rsa -b 4096

생성이 완료되면 나오는 화면

→ id_rsa(개인키), id_rsa.pub(공개키) 생성

공개키 확인하기

 

2) 공개키만 서버에 등록

서버 접속 후 .ssh 디렉토리에서 작업

 

exit 하고 다시 로그인해서 확인해야 한다. 

 

3. 편리한 점 

  • 매번 비밀번호 입력 없이 ssh 계정명@IP로 바로 로그인 가능
  • 자동화 스크립트, 쿠버네티스 설정, Ansible 같은 툴에서 비밀번호 프롬프트 없이 바로 서버 관리 가능
  • 여러 서버(마스터 + 워커 노드) 관리할 때 생산성이 크게 향상됨

바로 로그인 된다.

4. 주의할 점 

  • 개인키(id_rsa)는 절대 유출되면 안 된다 → 유출되면 누구든 서버에 로그인 가능
  • authorized_keys 퍼미션을 제대로 안 주면(600 미만) 접속이 막히거나 보안 경고 발생
  • 여러 서버 환경에서 키를 잘못 섞어 쓰면 인증 오류 발생 → 키 관리 체계 필요

 

개인적으로 처음 키를 만들 때가 window10버전이어서 rsa 키만 생성이 되어서 rsa로 키를 생성했지만 최근에는 ed25519 ssh 키로 많이 만든다. 

아래는 두 키를 비교한 내용이다. 키는 생성할 때 명령어의 차이로 만들어 질 수 있다.

 

5. RSA vs ED25519 SSH 키 비교

항목 RSA ED25519
알고리즘 공개키 암호화의 고전적인 방식 (RSA) 타원곡선 기반 서명 방식 (EdDSA/Curve25519)
보안 강도 보안성은 키 길이에 비례 (2048bit 이상 권장, 4096bit 추천) 기본 256bit지만, 동등 보안 강도는 RSA 3000~4000bit 수준
키 길이 / 파일 크기 길고 무겁다 (4096bit 키는 길다) 매우 짧고 가볍다
속도 생성, 서명, 인증 속도가 상대적으로 느림 훨씬 빠르고 효율적 (특히 저사양 서버, IoT에서도 유리)
호환성 거의 모든 환경/구버전 서버에서 지원 최신 OpenSSH(버전 6.5 이후)에서만 지원, 일부 구형 시스템은 호환 안 됨
권장 상황 레거시 시스템, 호환성이 중요한 경우 최신 시스템, 보안과 성능을 모두 원하는 경우

SSH 키 생성 명령어 옵션 해설

1) RSA 키 생성

 
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • ssh-keygen : SSH 키(개인키 + 공개키) 생성 명령어
  • -t rsa : 키의 타입(type) → RSA 알고리즘으로 생성
  • -b 4096 : 키 길이(bit length) → 4096bit 보안 강도 (일반적으로 2048 이상 권장)
  • -C "your_email@example.com" : 키 식별용 주석(comment), 주로 이메일을 입력

 

2) ED25519 키 생성

 
ssh-keygen -t ed25519 -C "your_email@example.com"
  • -t ed25519 : 키 타입을 ED25519(타원곡선 기반)으로 지정
  • -C "your_email@example.com" : 주석(식별용)
  • (참고) ED25519는 내부적으로 256bit로 고정되어 있어 -b 옵션 필요 없음

 

기억 포인트

  • -t : 알고리즘 타입 선택 (rsa, ed25519 등)
  • -b : 키 길이 지정 (RSA/ECDSA만 해당, ED25519는 고정)
  • -C : 누구의 키인지 표시하는 주석

👉 따라서 RSA는 길이를 조정할 수 있고, ED25519는 더 짧고 안전하며 기본 설정으로 충분하다.

  • ED25519: 더 짧고 안전하며 빠르다. → 최신 환경에서는 기본 선택
  • RSA: 호환성은 넓다. → 구형 시스템이나 기업 환경에서 여전히 쓰임

👉 지금 쿠버네티스 실습 환경(최신 Ubuntu라 가정)이라면 ED25519 키 생성을 추천함.

 

정리(회고)

  • VM 생성 시 OpenSSH가 자동으로 설치되지 않을 수도 있으니 꼭 확인해야 한다.
  • 공개키 기반 인증을 설정하면 비밀번호 입력의 번거로움 없이, 특히 쿠버네티스 멀티 노드 환경에서 훨씬 수월하게 서버 관리가 가능하다.
  • 하지만 개인키 보안 관리와 권한 설정은 필수!
728x90
반응형
LIST