기술 가이드

PuTTY와 Linux 서버에서 SSH 키 인증 구성하는 방법 — 5단계

4 min read 서버 관리 업데이트됨 30 Sep 2025
PuTTY와 Linux에서 SSH 키 인증 설정하기
PuTTY와 Linux에서 SSH 키 인증 설정하기

요약

정의: SSH — 네트워크를 통한 안전한 원격 로그인 프로토콜입니다. 공개키 인증 — 공개키/개인키 쌍으로 서버 접근을 허용하는 인증 방식입니다. Pageant — PuTTY 에이전트로 개인키의 암호를 한 번만 입력하도록 도와줍니다.


준비물

  • Windows PC와 PuTTY 도구 모음(putty.exe, puttygen.exe, pageant.exe 등)
  • SSH 접속 권한이 있는 Linux 서버의 루트 또는 sudo 권한
  • 로컬에 안전하게 보관할 수 있는 개인키 저장소

다운로드 링크(원본): http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip

중요: 위 URL은 예시 링크입니다. 최신 버전과 아키텍처(x86/x64)를 확인하세요.

빠른 5단계 개요

  1. PuTTY 실행 파일 집합(zip) 받기
  2. PuTTYgen으로 공개/개인키 생성
  3. 서버에 사용자 계정 생성 및 공개키 저장
  4. Pageant에 개인키 추가
  5. PuTTY로 비밀번호 없이 접속

1. PuTTY 바이너리 zip 파일 받기

링크를 열고 putty.zip을 다운로드합니다:

http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip

다운로드 후 압축을 풀고 puttygen.exe, pageant.exe, putty.exe가 있는지 확인하세요.

2. 개인키와 공개키 쌍 생성

PuTTYgen.exe를 실행합니다. Generate(생성) 버튼을 누르고 마우스를 움직여 엔트로피를 채웁니다. 키가 생성되면 키 암호(패스프레이즈)를 입력하세요. 추후 키가 도난되더라도 패스프레이즈가 있으면 안전합니다. 가능한 한 추측하기 어려운 문구를 사용하세요.

  • Save public key 버튼으로 공개키를 저장하세요.
  • Save private key 버튼으로 개인키(.ppk)를 안전한 곳에 저장하세요.

PuTTYgen 키 생성 화면

중요: PuTTYgen이 출력하는 ‘public key for pasting into OpenSSH authorized_keys’ 영역의 텍스트을 복사해 두세요. 이 텍스트 한 줄 전체를 서버의 authorized_keys2 파일에 붙여넣어야 합니다.

3. Linux 서버 구성 (사용자 생성 및 공개키 저장)

예시에서 사용할 로그인 이름은 autotimesheet입니다. 실제 사용하는 계정명으로 바꾸세요.

루트 권한으로 쉘에서:

adduser autotimesheet --disabled-password

사용자 정보(실명 등)는 비워도 됩니다.

그 다음:

su autotimesheet
cd /home/autotimesheet
mkdir .ssh
chmod 700 .ssh
cd .ssh

그 폴더에 authorized_keys2 파일을 생성하고, PuTTYgen에서 복사한 공개키 텍스트를 “한 줄”로 붙여넣습니다. 매우 중요합니다: 모든 공개키는 단일 행(줄)이어야 합니다.

주의사항 및 금지 항목:

  • 공개키 끝에 있는 이메일 주소(예: [email protected])를 추가하지 마세요.
  • “BEGIN PUBLIC KEY” 또는 “END PUBLIC KEY”를 넣지 마세요.
  • 키 뒤에 붙는 임의의 꼬리표(예: rsa-key-20090614)를 임의로 추가하지 마세요.
  • 반드시 “ssh-rsa” 또는 키 타입으로 시작해야 합니다.

예시 한 줄:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBzPeFQv+295iKzuuPH0jA9449pSHVpCwXvCR9EstmYh...

권한 설정:

chmod 600 authorized_keys2

중요: 최근 OpenSSH 배포판은 authorized_keys(번호 없는 파일)를 기본으로 사용합니다. 일부 배포판은 authorized_keys2를 지원하지 않을 수 있으므로, 문제가 발생하면 authorized_keys에 동일한 내용을 넣어 보세요.

4. 개인키를 PuTTY 인증 에이전트(Pageant)에 추가

Pageant.exe를 실행합니다. 실행 후 시스템 트레이 아이콘을 우클릭하고 “Add Key”(키 추가)를 선택합니다. 저장한 .ppk 개인키 파일을 선택하고, 패스프레이즈를 입력하면 Pageant가 해당 키를 메모리에 적재합니다.

Pageant는 개인키의 패스프레이즈를 한 번만 묻고 이후 연결에서 자동으로 인증을 제공합니다.

5. PuTTY로 서버에 접속

PuTTY를 열고 Host Name(또는 IP)란에 서버 주소를 입력하고, Auto timesheet 계정으로 로그인합니다 (예: autotimesheet@yourserver). SSH 접속을 시도하면 Pageant에 로드된 키로 인증이 진행되며 비밀번호 프롬프트 없이 로그인됩니다.

PuTTY - 서버에 연결 화면

성공적으로 로그인되면 키 에이전트에서 인증을 받아 비밀번호 입력 없이 접속됩니다.

PuTTY - 에이전트에서 공개키로 인증하는 모습

보안 강화 권장 사항

  • /etc/ssh/sshd_config에서 PasswordAuthentication no로 설정하여 비밀번호 로그인을 차단하세요. 변경 후 sshd 재시작이 필요합니다.
  • PermitRootLogin no로 루트 직접 로그인을 금지하세요.
  • AllowUsers로 접속 허용 계정을 제한하세요.
  • 개인키는 반드시 안전한 장소에 보관하고 백업하세요. 오프라인 백업 권장.
  • 키에 패스프레이즈를 설정하세요. 에이전트 사용 시 편의성도 유지됩니다.

예시: sshd_config 일부 권장 설정

PasswordAuthentication no
PermitRootLogin no
ChallengeResponseAuthentication no
UsePAM yes

문제 해결(트러블슈팅)

  • 로그인 실패 시 먼저 서버의 /var/log/auth.log 또는 /var/log/secure를 확인하세요.
  • 권한 문제: .ssh 디렉터리는 700, authorized_keys2는 600이어야 합니다.
  • 키 형식 문제: authorized_keys2에 붙여넣은 키가 여러 줄로 분리되었는지 확인하세요. 한 줄이어야 합니다.
  • 파일명 문제: modern OpenSSH는 authorized_keys를 사용합니다. authorized_keys2에 넣어도 동작하지 않으면 authorized_keys로 복사해 보세요.
  • Pageant가 키를 올바르게 로드했는지 시스템 트레이 아이콘을 우클릭해 확인하세요.

대안 접근법

  • OpenSSH(Windows 10/11 내장)를 사용하면 PuTTY 없이도 OpenSSH 키를 이용한 접속이 가능합니다.
  • WSL(Windows Subsystem for Linux)을 사용하여 리눅스 OpenSSH 도구로 키를 관리할 수 있습니다.
  • 다른 에이전트(예: KeeAgent, gpg-agent+ssh 등)를 사용해 키를 관리할 수 있습니다.

역할별 체크리스트

관리자(루트 권한):

  • 사용자 생성 및 홈 디렉터리 권한 확인
  • /etc/ssh/sshd_config 수정 및 sshd 재시작
  • 접근 제어(AllowUsers) 설정

개발자/사용자:

  • PuTTYgen으로 키 생성 및 개인키 안전 보관
  • Pageant에 키 로드 및 정상 동작 확인
  • 공개키를 서버에 정확히 붙여넣기

검증 기준

  • PuTTY로 접속 시 비밀번호 입력 없이 쉘 프롬프트가 나타난다.
  • 서버 로그에 공개키 인증 성공 메시지가 기록된다.
  • 비밀번호 기반 로그인 시도가 차단되어야 한다(테스트 시 확인).

언제 이 방법이 실패하는가

  • 서버에서 공개키 인증을 비활성화한 경우
  • 권한이 틀리거나 키가 한 줄이 아닌 경우
  • Pageant에 키가 로드되지 않았거나 패스프레이즈를 잘못 입력한 경우

용어집(한 줄 정의)

  • 공개키(public key): 서버에 놓는 인증용 공개 정보.
  • 개인키(private key): 소유자만 보관하는 비밀 키.
  • Pageant: PuTTY 전용 SSH 에이전트.

요약: 공개키 인증은 비밀번호 인증보다 안전합니다. PuTTYgen으로 키를 만들고 공개키를 서버에 넣고 Pageant로 개인키를 관리하면 Windows에서 편리하고 안전하게 SSH 접속을 할 수 있습니다.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

Debian 11에 Podman 설치 및 사용하기
컨테이너

Debian 11에 Podman 설치 및 사용하기

Apt-Pinning 간단 소개 — Debian 패키지 우선순위 설정
시스템 관리

Apt-Pinning 간단 소개 — Debian 패키지 우선순위 설정

OptiScaler로 FSR 4 주입: 설치·설정·문제해결 가이드
그래픽 가이드

OptiScaler로 FSR 4 주입: 설치·설정·문제해결 가이드

Debian Etch에 Dansguardian+Squid(NTLM) 구성
네트워크

Debian Etch에 Dansguardian+Squid(NTLM) 구성

안드로이드 SD카드 설치 오류(Error -18) 완전 해결
안드로이드 오류

안드로이드 SD카드 설치 오류(Error -18) 완전 해결

KNetAttach로 원격 네트워크 폴더 연결하기
네트워킹

KNetAttach로 원격 네트워크 폴더 연결하기