OS

[Linux] ssh-rsa키란?

파주상남자의엔지니어일기 ㅣ 2025. 3. 19. 10:24

반응형

리눅스에서 ssh-rsa 키는 SSH(Secure Shell) 프로토콜에서 RSA 알고리즘을 사용하여 생성된 공개 키 기반 인증 키를 의미합니다. SSH 키는 비밀번호 대신 안전하게 로그인할 수 있도록 사용

 

🔹 ssh-rsa 키 개요

  • ssh-rsa는 SSH-2 프로토콜에서 RSA 알고리즘을 사용하는 공개 키 형식을 의미합니다.
  • SSH 키 쌍(Public/Private Key Pair)으로 구성되며, 비대칭 암호화 방식으로 동작합니다.
    • 공개 키(Public Key): 서버에 등록하여 인증에 사용됨.
    • 개인 키(Private Key): 클라이언트가 소유하며, 로그인 시 개인 키를 이용하여 서버와 인증을 수행함.

🔹 ssh-rsa 키 생성 방법

RSA 방식의 SSH 키를 생성하려면 다음 명령어를 사용합니다:

ssh-keygen -t rsa -b 4096
  • -t rsa → RSA 알고리즘을 사용하여 키 생성
  • -b 4096 → 4096비트 길이의 키 생성 (기본값은 2048비트)

위 명령을 실행하면 다음과 같은 파일이 생성됩니다

~/.ssh/id_rsa → 개인 키(비밀 키), 절대 외부에 노출되면 안 됨.
~/.ssh/id_rsa.pub → 공개 키, 원격 서버의 ~/.ssh/authorized_keys에 등록하여 사용.

🔹 ssh-rsa 키를 활용한 SSH 인증

  1. 공개 키를 서버에 등록또는 직접 ~/.ssh/authorized_keys 파일에 추가.
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_server
  1. SSH 키를 이용하여 서버 접속
    • -i 옵션으로 사용할 개인 키를 지정할 수 있음.
ssh -i ~/.ssh/id_rsa user@remote_server

🔹 ssh-rsa 관련 보안 이슈

  • OpenSSH 8.8(2021년 릴리즈)부터 ssh-rsa 알고리즘이 기본적으로 비활성화됨.
    • 이유: SHA-1 해시 알고리즘의 보안 취약점 때문.
    • 해결 방법: 보다 안전한 알고리즘을 사용 (rsa-sha2-256, rsa-sha2-512, ecdsa, ed25519 등).

✅ 보안 강화된 RSA 키 사용 방법

bash
ssh-keygen -t rsa -b 4096 -o -a 100
  • -o → OpenSSH 포맷 사용 (더 강력한 암호화)
  • -a 100 → 키 유도 함수(KDF) 반복 횟수 증가 (브루트포스 공격 방어)
반응형