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 라인을 삭제하거나 파일 자체를 지우고 다시 시도함.
반응형
'IT > Linux' 카테고리의 다른 글
| [Linux] HAProxy + WordPress + MySQL 3-Tier 아키텍처 구축 (1) | 2026.03.10 |
|---|---|
| [Linux] NAT Gateway 및 HAProxy 로드밸런싱 구성 가이드 (0) | 2026.03.10 |
| [Linux] NFS(Network File System) 설정 및 윈도우 연결 가이드 (0) | 2026.03.10 |
| [Linux] 리눅스 파티션 마운트 및 LVM 설정 가이드 (0) | 2026.03.10 |
| [Kali Linux] OpenVAS(GVM) 설치 및 사용법 정리 (0) | 2026.02.23 |