SSH 키 관리 가이드: 생성부터 안전한 사용까지

oversleep·2025년 4월 17일

web-development

목록 보기
15/23

SSH 키는 개발자가 서버에 안전하게 접속하기 위한 필수 도구입니다.
비밀번호 방식보다 훨씬 안전하며, 자동화된 배포 과정에서도 중요한 역할을 합니다.
이 글에서는 SSH 키를 생성하고 안전하게 관리하는 방법을 알아보겠습니다.

SSH 키란 무엇인가?

SSH(Secure Shell) 키는 공개키와 비밀키 쌍으로 구성된 암호화 시스템입니다.
공개키는 서버에 등록하고, 비밀키는 본인만 소유하는 방식으로 안전한 인증을 제공합니다.

  • 공개키(Public Key): 서버에 등록하여 공유해도 안전합니다.
  • 비밀키(Private Key): 절대 공유해서는 안 되며, 로컬 컴퓨터에 안전하게 보관해야 합니다.

SSH 키 생성 방법

터미널에서 다음 명령어로 SSH 키를 생성할 수 있습니다:

ssh-keygen -t rsa -b 4096 -m PEM -f ~/.ssh/my-key-name

각 옵션의 의미는 다음과 같습니다:

  • -t rsa: RSA 알고리즘 사용
  • -b 4096: 4096비트 키 길이 (강력한 보안)
  • -m PEM: PEM 형식으로 키 저장
  • -f ~/.ssh/my-key-name: 키 파일 저장 경로 및 이름

실행 후 비밀번호를 설정하라는 메시지가 나타납니다. 비밀번호를 설정하면 보안이 강화되지만, 자동화된 프로세스에서는 비밀번호 없이 사용하는 경우도 있습니다.

SSH 키 확인 방법

생성된 키는 다음 명령어로 확인할 수 있습니다:

# 비밀키 확인 (절대 공유하지 마세요!)
cat ~/.ssh/my-key-name

# 공개키 확인 (서버에 등록할 키)
cat ~/.ssh/my-key-name.pub

안전한 SSH 키 관리 방법

1. 비밀키는 절대 공유하지 않기

비밀키는 절대로 공유해서는 안 됩니다. 메모장이나 클라우드 서비스에 복사하지 마세요. 비밀키가 노출되면 서버에 대한 접근 권한이 노출됩니다.

2. 적절한 파일 권한 설정

SSH 키 파일은 적절한 권한을 가져야 합니다:

# 비밀키는 본인만 읽고 쓸 수 있도록 설정
chmod 600 ~/.ssh/my-key-name

# .ssh 디렉토리 권한 설정
chmod 700 ~/.ssh

3. 비밀번호 보호 사용하기

가능하면 SSH 키 생성 시 비밀번호를 설정하세요. 이렇게 하면 키 파일이 노출되더라도 추가 보호 계층이 생깁니다.

4. 키 백업 관리하기

SSH 키를 안전하게 백업해두세요. 컴퓨터 고장이나 분실 시 서버 접근이 불가능해질 수 있습니다. 하지만 백업 역시 안전하게 보관해야 합니다.

SSH 구성 파일 활용하기

~/.ssh/config 파일을 생성하여 SSH 연결을 더 쉽게 관리할 수 있습니다:

# 기본 서버 접속 설정
Host myserver
    HostName 192.168.1.100
    User username
    Port 22
    IdentityFile ~/.ssh/my-key-name

# 프록시 점프를 통한 접속 설정
Host internal-server
    HostName 10.0.0.5
    User admin
    Port 22
    ProxyJump myserver
    IdentityFile ~/.ssh/another-key

이 설정을 사용하면 ssh myserver처럼 간단한 명령어로 접속할 수 있습니다.

자주 발생하는 문제 및 해결 방법

권한 문제

Permissions are too open

이 오류는 SSH 키 파일의 권한이 너무 개방적일 때 발생합니다. chmod 600 ~/.ssh/my-key-name 명령어로 해결할 수 있습니다.

잘못된 키 형식

Invalid format or key

PEM 형식이 아닌 경우 발생할 수 있습니다. -m PEM 옵션으로 키를 다시 생성하거나 변환하세요.

키를 찾을 수 없음

Identity file not found

경로를 확인하고 키 파일이 존재하는지 확인하세요.

결론

SSH 키는 개발자에게 필수적인 도구이며, 올바르게 사용하면 높은 보안성을 제공합니다. 비밀키를 안전하게 보관하고, 필요할 때마다 직접 파일에서 확인하는 습관을 들이는 것이 좋습니다. 텍스트 파일이나 메모장에 복사해두는 대신, SSH 구성 파일을 활용하여 더 편리하고 안전하게 서버에 접속하세요.

SSH 키 관리는 개발자의 일상적인 업무이지만, 보안에 소홀하면 큰 문제가 발생할 수 있습니다. 이 가이드를 통해 SSH 키를 안전하게 관리하는 방법을 습득하여 개발 환경을 더 안전하게 유지하시길 바랍니다.

profile
궁금한 것, 했던 것, 시행착오 그리고 기억하고 싶은 것들을 기록합니다.

0개의 댓글