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

2025. 8. 16. 10:00·Server/Linux
반응형

 

 

안녕하세요, 토스트 데브입니다!
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
'Server/Linux' 카테고리의 다른 글
  • [Linux] #21 SSH 및 원격 접속, 포트 변경과 root 원격 접속 차단 방법
  • [Linux] #20 SSH 및 원격 접속, OpenSSH 설치와 설정 방법
  • [Linux] #19 서비스 관리, 리눅스 서비스 로그 확인 가이드 journalctl 완벽 정리
  • [Linux] #18 서비스 관리, 리눅스 부팅 시 서비스 자동 실행 설정
TOASTDEV
TOASTDEV
인스턴트 코딩 #토스트데브 #토스트뎁 #코딩공부 #개발입문
  • TOASTDEV
    토스트뎁
    TOASTDEV
    • 분류 전체보기 (103) N
      • 알쓸신잡 (32)
        • 코딩에 대하여 (13)
        • 컴퓨터에 대하여 (10)
        • IT 국내외 소식 (9)
      • Web Front (11) N
        • HTML (6)
        • CSS (5) N
        • JavaScript (0)
      • Programming (26) N
        • PHP (26) N
      • Database (12)
        • SQL (12)
        • MySQL (0)
      • Server (22) N
        • Linux (22) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Youtube Toastdev
    • Naver Blog
  • 공지사항

    • [유튜브] 유튜브 영상 업로드 안내
  • 인기 글

  • 태그

    php문법
    SQL문법
    html기초
    php코딩
    ubuntu서버
    PHP문자열
    코딩입문
    웹개발
    데이터분석
    sql
    SQL기초
    css기초
    컴퓨터기초
    서버관리
    데이터베이스
    프론트엔드
    HTML
    php기초
    php
    서버보안
    웹프로그래밍
    리눅스기초
    SQL강의
    웹개발기초
    php입문
    ubuntuserver
    웹개발입문
    프론트엔드기초
    서버입문
    리눅스보안
  • 최근 댓글

  • 최근 글

  • 전체
    오늘
    어제
  • 반응형
  • hELLO· Designed By정상우.v4.10.3
TOASTDEV
[Linux] #22 SSH 및 원격 접속, 공개키 인증 설정 방법 가이드
상단으로

티스토리툴바