Server/Linux

[Linux] #22 SSH 및 원격 접속, 공개키 인증 설정 방법 가이드

TOASTDEV 2025. 8. 16. 10:00
반응형

 

 

안녕하세요, 토스트 데브입니다!
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키 #무비밀번호로그인

 

반응형