기술 가이드

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
저자
편집

유사한 자료

Windows 10 업데이트 기록 확인 방법
시스템

Windows 10 업데이트 기록 확인 방법

CentOS 5.6에 Openfire IM 서버 설치하기
서버

CentOS 5.6에 Openfire IM 서버 설치하기

Windows Live Mail 로그인 및 Outlook 이전 가이드
이메일

Windows Live Mail 로그인 및 Outlook 이전 가이드

Windows 리소스 보호 오류 해결 가이드
Windows

Windows 리소스 보호 오류 해결 가이드

PuTTY와 Linux에서 SSH 키 인증 설정하기
서버 관리

PuTTY와 Linux에서 SSH 키 인증 설정하기

Spotify DM 사용법 — 음악을 앱 안에서 바로 공유하기
앱 가이드

Spotify DM 사용법 — 음악을 앱 안에서 바로 공유하기