본문 바로가기
IT/Linux

[Linux] SSH Key 인증 방식 및 접속 가이드

by Archiver Jun 2026. 3. 10.

SSH Key 인증은 비밀번호 대신 암호화 알고리즘을 사용하여 원격 시스템에 접속하는 방식임. 보안성이 높고 자동화 스크립트 등에서 활용도가 매우 높음.

1. SSH Key의 구성 원리

SSH Key는 한 쌍(Pair)으로 이루어져 있음.

  • 개인 키 (Private Key): 내가 가지고 있는 열쇠. 절대 남에게 보여주면 안 됨.
  • 공개 키 (Public Key): 서버에 등록하는 자물쇠. 누출되어도 안전함.

2. 윈도우에서 SSH Key 생성하기

윈도우 CMD 또는 PowerShell을 열고 아래 명령어를 입력하여 키 쌍을 생성함.

Bash
 
ssh-keygen -t rsa -b 2048 -q -N ""

옵션 설명:

  • -t rsa: 암호화 유형을 RSA 알고리즘으로 지정함.
  • -b 2048: 키 길이를 2048비트로 설정함 (일반적인 보안 권장 수준).
  • -q: 진행 메시지를 생략함 (Quiet 모드).
  • -N "": 키에 별도의 암호(Passphrase)를 설정하지 않음.

결과물 확인:

  • 경로: C:\Users\[사용자명]\.ssh
  • id_rsa: 개인 키 (복사/유출 금지)
  • id_rsa.pub: 공개 키 (서버로 보낼 파일)
  • known_hosts: 한 번이라도 접속했던 서버의 정보가 저장되는 파일

3. 리눅스 서버 설정 확인

서버측 리눅스에서 공개 키를 받아들일 준비가 되어 있는지 확인함.

  • 설정 파일: /etc/ssh/sshd_config
  • 확인 사항: AuthorizedKeysFile .ssh/authorized_keys 항목의 주석이 해제되어 있어야 함. 이 설정은 .ssh/authorized_keys 파일에 등록된 키만 인증을 허용하겠다는 의미임.

4. 공개 키 전송 및 접속 (SCP 활용)

생성한 공개 키(id_rsa.pub)를 서버의 특정 경로로 복사하여 등록함.

① 키 업로드 (윈도우 CMD에서 실행)

DOS
 
scp .ssh\id_rsa.pub root@10.0.0.11:/root/.ssh/authorized_keys

이 명령어를 통해 내 공개 키가 서버의 인증 목록에 등록됨.

② 서버 접속 테스트

DOS
 
ssh root@10.0.0.11

정상적으로 설정되었다면 비밀번호 입력 없이 즉시 로그인이 완료됨.


[tip]

  • 접속이 안 될 때: 서버의 .ssh 디렉토리 권한은 700, authorized_keys 파일 권한은 600이어야 정상 작동함.
  • known_hosts 오류: 서버 재설치 등으로 지문이 바뀌어 접속이 안 되면, known_hosts 파일에서 해당 IP 라인을 삭제하거나 파일 자체를 지우고 다시 시도함.
반응형