반응형
안녕하세요, 토스트 데브입니다!
SSH 보안을 강화하는 방법 중 가장 널리 쓰이는 것이 바로 공개키(Public Key) 인증 방식입니다.
이 방식은 비밀번호를 입력하지 않고도 안전하게 서버에 접속할 수 있으며, 무차별 대입 공격(Brute Force)을 사실상 막을 수 있습니다.
🔑 1. 공개키 인증 방식이란?
- 키 쌍(Pair): 공개키(Public Key) + 개인키(Private Key)
- 공개키는 서버에 저장, 개인키는 클라이언트(내 PC)에 저장
- 접속 시 개인키로 서명하고, 서버는 공개키로 인증 → 비밀번호 필요 없음
🛠 2. 클라이언트에서 키 생성
Linux/macOS 또는 Windows PowerShell/Git Bash에서 실행:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- -t rsa : 키 유형
- -b 4096 : 키 길이 (4096비트 권장)
- -C : 식별용 코멘트 (이메일 주소 등)
📌 기본 경로 (~/.ssh/id_rsa)에 저장하는 것을 권장합니다.
📌 id_rsa → 개인키, id_rsa.pub → 공개키
📤 3. 공개키를 서버에 업로드
방법 1: ssh-copy-id (간편)
ssh-copy-id -i ~/.ssh/id_rsa.pub username@서버IP
방법 2: 수동 복사
1. 서버에 로그인
2. .ssh 디렉토리 생성 및 권한 설정
mkdir -p ~/.ssh
chmod 700 ~/.ssh
3. 공개키 저장
nano ~/.ssh/authorized_keys
- id_rsa.pub 내용 붙여넣기
4. 권한 설정
chmod 600 ~/.ssh/authorized_keys
📝 4. SSH 설정에서 비밀번호 로그인 비활성화
서버에서:
sudo nano /etc/ssh/sshd_config
다음 항목 수정:
PasswordAuthentication no
PubkeyAuthentication yes
설정 적용:
sudo systemctl restart ssh
🔍 5. 접속 테스트
ssh username@서버IP -p 포트번호
- 비밀번호 없이 접속이 된다면 성공
- 개인키는 절대 다른 사람과 공유 금지
💡 토스트 데브 팁
✅ 공개키 인증 후에는 반드시 비밀번호 로그인 비활성화를 권장합니다.
✅ 개인키(id_rsa)는 안전하게 보관하고, 유출 시 즉시 키를 변경해야 합니다.
✅ 여러 장비에서 접속하려면 해당 장비마다 공개키를 서버의 authorized_keys에 추가하면 됩니다.
#UbuntuSSH #공개키인증 #SSH보안 #Ubuntu서버 #서버보안 #SSH설정 #리눅스보안 #토스트데브 #SSH키 #무비밀번호로그인
반응형
'Server > Linux' 카테고리의 다른 글
[Linux] #21 SSH 및 원격 접속, 포트 변경과 root 원격 접속 차단 방법 (2) | 2025.08.15 |
---|---|
[Linux] #20 SSH 및 원격 접속, OpenSSH 설치와 설정 방법 (2) | 2025.08.14 |
[Linux] #19 서비스 관리, 리눅스 서비스 로그 확인 가이드 journalctl 완벽 정리 (2) | 2025.08.13 |
[Linux] #18 서비스 관리, 리눅스 부팅 시 서비스 자동 실행 설정 (1) | 2025.08.12 |
[Linux] #17 서비스 관리, systemctl로 시작·중지·재시작 완벽 정리 (0) | 2025.08.11 |