Windows PC에서 PuTTY를 설치하고 리눅스 서버에 SSH로 접속하는 방법

안녕하세요. 비전 IDC 기술팀입니다.

일본 단독서버나 일본 VPS를 처음 받으신 뒤 가장 먼저 하게 되는 작업은 원격으로 서버에 접속하는 일입니다. 리눅스 서버는 대부분 SSH(Secure Shell)로 관리하며, Windows PC에서는 무료 SSH 클라이언트인 PuTTY가 널리 사용됩니다.

이 문서에서는 PuTTY 공식 배포 페이지에서 설치 파일을 내려받는 방법부터 첫 접속 시 표시되는 호스트 키 경고의 의미, 로그인, 접속 정보 저장, 글꼴과 문자 인코딩(UTF-8) 설정, 그리고 비밀번호 대신 개인 키(.ppk)로 접속하는 방법과 PuTTYgen을 이용한 키 변환까지 순서대로 설명합니다.

적용 환경

  • 클라이언트: Windows 10 / Windows 11 PC
  • SSH 클라이언트: PuTTY (공식 배포판, 64-bit MSI 설치 파일)
  • 접속 대상: SSH 서비스가 실행 중인 리눅스 서버 (CentOS, Rocky Linux, AlmaLinux, Ubuntu 등)
  • 함께 설치되는 도구: PuTTYgen(키 생성·변환), Pageant(키 에이전트), PSCP/PSFTP(파일 전송)

1. PuTTY 다운로드

PuTTY는 개발자가 운영하는 공식 페이지에서 내려받는 것이 가장 안전합니다. 검색 결과에는 이름이 비슷한 광고 사이트나 재배포 사이트가 섞여 있을 수 있으므로 아래 주소로 직접 접속하는 것을 권장합니다.

페이지의 Package files 항목에 MSI(Windows Installer) 설치 파일이 아키텍처별로 나열되어 있습니다. 현재 사용하는 대부분의 Windows PC는 64비트 x86 환경이므로 64-bit x86 항목의 .msi 파일을 선택합니다.

내 PC가 64비트인지 확인하려면 Windows에서 설정 → 시스템 → 정보로 이동해 시스템 종류 항목을 확인합니다. “64비트 운영 체제, x64 기반 프로세서”로 표시되면 64-bit x86 설치 파일을 사용하면 됩니다. ARM 프로세서를 사용하는 PC라면 64-bit Arm 항목을 선택합니다.

2. PuTTY 설치

내려받은 MSI 파일을 더블클릭하면 설치 마법사가 실행됩니다. 설치 과정은 다음과 같이 진행됩니다.

  1. 시작 화면에서 Next를 클릭합니다.
  2. 설치 경로를 확인합니다. 특별한 이유가 없다면 기본 경로(C:\Program Files\PuTTY\)를 그대로 사용합니다.
  3. 설치할 기능 목록이 표시되면 기본값을 유지한 채 Install을 클릭합니다.
  4. Windows 사용자 계정 컨트롤(UAC) 창이 표시되면 를 선택합니다.
  5. 설치가 끝나면 Finish를 클릭합니다.

설치가 완료되면 시작 메뉴에서 PuTTY를 검색해 실행할 수 있습니다. 같은 폴더에 PuTTYgen, Pageant, PSFTP 등이 함께 설치됩니다.

3. 서버에 처음 접속하기

접속 정보 입력

PuTTY를 실행하면 PuTTY Configuration 창이 열리고 왼쪽 Category 트리에서 Session이 선택된 상태로 표시됩니다. 이 화면에서 다음 항목을 입력합니다.

Session 화면 입력 항목
항목 입력 값 설명
Host Name (or IP address) 서버 IP 주소 또는 도메인 예: 203.0.113.10 (문서용 예시 주소)
Port SSH 포트 번호 기본값은 22입니다. 서버에서 SSH 포트를 변경했다면 변경한 번호를 입력합니다.
Connection type SSH 기본적으로 SSH가 선택되어 있습니다.

입력을 마쳤다면 창 아래쪽의 Open 버튼을 클릭합니다.

첫 접속 시 호스트 키 경고(PuTTY Security Alert)

해당 서버에 처음 접속하면 PuTTY Security Alert 창이 표시됩니다. 이는 오류가 아니라, PuTTY가 이 서버의 호스트 키를 아직 저장한 적이 없어 “지금 접속하려는 서버가 정말 의도한 서버인지” 확인을 요청하는 절차입니다. 창에는 서버 호스트 키의 종류와 지문(fingerprint)이 표시됩니다.

  • Accept: 호스트 키를 PC에 저장하고 접속합니다. 이후 같은 서버에 접속할 때는 경고가 다시 표시되지 않습니다.
  • Connect Once: 키를 저장하지 않고 이번 한 번만 접속합니다.
  • Cancel: 접속을 취소합니다.

버전에 따라 버튼 이름이 “예 / 아니요 / 취소”처럼 다르게 표시될 수 있지만 의미는 같습니다. 보안을 중시하는 환경이라면 콘솔 등 이미 신뢰할 수 있는 경로로 서버에 접근해 다음 명령으로 호스트 키 지문을 확인하고, PuTTY 창에 표시된 값과 일치하는지 비교한 뒤 Accept를 선택합니다.

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

로그인

호스트 키를 수락하면 검은 터미널 창에 login as: 프롬프트가 나타납니다. 계정 이름을 입력하고 Enter를 누르면 비밀번호 입력 프롬프트가 표시됩니다.

login as: root
[email protected]'s password:

비밀번호를 입력할 때는 보안상 화면에 문자나 * 기호가 전혀 표시되지 않습니다. 입력이 되지 않는 것처럼 보여도 정상이므로 끝까지 입력한 뒤 Enter를 누르면 됩니다. 로그인에 성공하면 셸 프롬프트가 표시되고 서버 명령을 실행할 수 있습니다.

hostname
whoami

4. 접속 정보 저장하기

매번 IP와 포트를 입력하지 않도록 접속 정보를 세션으로 저장해 둘 수 있습니다. 설정 창의 Session 화면에서 다음 순서로 진행합니다.

  1. Host NamePort를 입력합니다.
  2. 뒤에서 설명할 글꼴, 인코딩, 키 파일 등 필요한 설정을 모두 변경합니다.
  3. 다시 Session 화면으로 돌아와 Saved Sessions 입력란에 알아보기 쉬운 이름(예: jp-vps-web01)을 입력합니다.
  4. Save 버튼을 클릭합니다.

저장한 세션은 목록에서 선택한 뒤 Load로 불러오거나, 이름을 더블클릭해 바로 접속할 수 있습니다. 설정을 바꾼 뒤에는 반드시 세션을 선택하고 Save를 다시 눌러야 변경 내용이 유지됩니다.

로그인 계정까지 미리 지정하려면 Connection → Data 화면의 Auto-login username에 계정 이름을 입력합니다. 장시간 입력이 없을 때 연결이 끊기는 환경이라면 Connection 화면의 Seconds between keepalives 값을 60 정도로 지정해 주기적으로 신호를 보내도록 설정할 수 있습니다.

5. 글꼴 크기와 문자 인코딩(UTF-8) 설정

글꼴 변경

기본 글꼴이 작거나 가독성이 떨어진다면 Window → Appearance 화면의 Font settings 항목에서 Change... 버튼을 눌러 글꼴과 크기를 변경할 수 있습니다. 한글이 섞인 로그를 자주 확인한다면 한글 표시가 가능한 고정폭 글꼴을 선택하는 것이 좋습니다.

한글 깨짐 방지를 위한 UTF-8 설정

최근 리눅스 배포판은 대부분 UTF-8 로케일을 사용합니다. PuTTY의 문자 집합이 서버와 다르면 한글 파일명이나 로그가 깨져 보이므로 다음 설정을 확인합니다.

  1. 왼쪽 트리에서 Window → Translation을 선택합니다.
  2. Remote character set 항목을 UTF-8로 선택합니다.
  3. Session 화면으로 돌아가 세션을 선택하고 Save를 클릭합니다.

PuTTY 설정이 UTF-8인데도 한글이 깨진다면 서버의 로케일 설정을 함께 확인합니다.

locale
echo $LANG

출력 값에 UTF-8(또는 utf8)이 포함되어 있다면 서버 쪽은 UTF-8 환경입니다. POSIXC로만 표시된다면 서버 로케일 설정이 원인일 수 있습니다.

스크롤 가능한 줄 수 늘리기

긴 명령 결과를 위로 스크롤해서 보려면 Window 화면의 Lines of scrollback 값을 늘립니다. 설정 변경 후에는 세션 저장을 잊지 마십시오.

6. 개인 키(.ppk) 파일로 접속하기

SSH 키 인증을 사용하면 비밀번호를 입력하지 않고 개인 키 파일로 로그인할 수 있어 무차별 대입 공격에 대한 노출을 줄일 수 있습니다. 서버에 공개 키를 등록하는 방법은 리눅스 서버 SSH 키 인증 로그인 설정 방법 문서를 참고해 주십시오. 여기서는 PuTTY에서 개인 키를 지정하는 방법을 설명합니다.

PuTTY는 기본적으로 자체 형식인 .ppk 개인 키 파일을 사용합니다. 이미 .ppk 파일이 있다면 다음 순서로 지정합니다.

  1. 저장한 세션을 선택하고 Load를 클릭합니다.
  2. 왼쪽 트리에서 Connection → SSH → Auth → Credentials로 이동합니다.
  3. Private key file for authentication 항목의 Browse...를 눌러 .ppk 파일을 선택합니다.
  4. Session 화면으로 돌아가 Save를 클릭한 뒤 Open으로 접속합니다.

접속하면 login as:에 계정을 입력한 뒤, 키에 암호(passphrase)를 설정했다면 암호 입력을 요청받습니다. 이때 입력하는 값은 서버 계정 비밀번호가 아니라 키 파일에 설정한 암호입니다.

7. PuTTYgen으로 키 생성 및 변환하기

OpenSSH 개인 키를 .ppk로 변환

리눅스나 macOS에서 ssh-keygen으로 만든 개인 키(예: id_ed25519, id_rsa)는 OpenSSH 형식이므로 PuTTY에서 사용하려면 .ppk 형식으로 변환해야 합니다.

  1. 시작 메뉴에서 PuTTYgen을 실행합니다.
  2. 상단 메뉴 Conversions → Import key를 선택하고 OpenSSH 개인 키 파일을 엽니다.
  3. 키에 암호가 설정되어 있다면 암호를 입력합니다.
  4. 필요하면 Key passphraseConfirm passphrase에 암호를 입력합니다.
  5. Save private key를 클릭해 .ppk 파일로 저장합니다.

PuTTYgen에서 새 키 쌍 만들기

Windows에서 새로 키를 만들 경우에도 PuTTYgen을 사용할 수 있습니다.

  1. Parameters 영역에서 키 종류를 선택합니다. 최신 서버라면 EdDSA(Ed25519)를, 오래된 시스템과의 호환이 필요하다면 RSA(3072비트 이상 권장)를 선택합니다.
  2. Generate를 클릭하고 안내에 따라 빈 영역에서 마우스를 움직여 난수를 생성합니다.
  3. 암호(passphrase)를 입력한 뒤 Save private key로 개인 키(.ppk)를 저장합니다.
  4. 창 상단의 Public key for pasting into OpenSSH authorized_keys file 상자에 표시된 한 줄 전체를 복사해 서버 계정의 ~/.ssh/authorized_keys 파일에 추가합니다.

서버에 접속한 상태에서 공개 키를 추가할 때는 다음과 같이 권한을 함께 맞춰 줍니다. ssh-ed25519 AAAA... 부분은 PuTTYgen에서 복사한 실제 공개 키로 바꿔야 합니다.

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo 'ssh-ed25519 AAAA...복사한_공개키... user@pc' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

PuTTYgen의 Conversions → Export OpenSSH key 메뉴를 사용하면 반대로 .ppk 파일을 OpenSSH 형식으로 내보낼 수도 있습니다. 또한 최신 PuTTYgen은 .ppk 파일을 버전 3 형식으로 저장하므로, 오래된 PuTTY나 다른 도구에서 파일을 읽지 못한다면 PuTTY 쪽을 최신 버전으로 업데이트하는 것이 가장 간단한 해결 방법입니다.

8. 자주 발생하는 문제와 확인 방법

PuTTY 접속 문제 점검
증상 가능한 원인 확인 및 해결 방향
Network error: Connection timed out IP 주소 오류, 포트 번호 오류, 서버 방화벽 또는 네트워크 차단, 서버 중지 IP와 포트를 다시 확인하고, 서버가 켜져 있는지와 방화벽에서 SSH 포트가 허용되어 있는지 확인합니다.
Network error: Connection refused 서버는 응답하지만 해당 포트에서 SSH 서비스가 동작하지 않음 SSH 포트가 변경되었는지, sshd 서비스가 실행 중인지 콘솔에서 확인합니다.
Access denied 반복 계정 이름 또는 비밀번호 오류, root 원격 로그인 제한 대소문자와 키보드 한/영 상태를 확인하고, 서버의 PermitRootLogin 설정 여부를 점검합니다.
Server refused our key 공개 키가 등록되지 않았거나 ~/.ssh 권한이 올바르지 않음 authorized_keys에 공개 키가 한 줄로 정확히 들어갔는지, 디렉터리 700 / 파일 600 권한인지 확인합니다.
No supported authentication methods available 서버가 비밀번호 인증을 막고 키 인증만 허용 세션에 올바른 .ppk 파일을 지정했는지 확인합니다.
Unable to use key file OpenSSH 형식 키를 그대로 지정함 PuTTYgen의 Import key 기능으로 .ppk로 변환한 뒤 지정합니다.
한글이 깨져 보임 PuTTY 문자 집합 또는 서버 로케일 불일치 Window → Translation에서 UTF-8을 선택하고 서버의 locale 결과를 확인합니다.

포트가 열려 있는지 PC에서 간단히 확인하려면 Windows PowerShell에서 다음 명령을 사용할 수 있습니다. IP와 포트는 실제 값으로 바꿔 입력합니다.

Test-NetConnection 203.0.113.10 -Port 22

결과에서 TcpTestSucceeded : True로 표시되면 해당 포트까지 TCP 연결은 가능한 상태입니다. False라면 네트워크 경로나 방화벽을 먼저 점검해야 합니다.

SSH 설정 변경 후 접속이 되지 않는 경우에는 VPS의 웹 콘솔이나 단독서버의 KVM/IPMI처럼 SSH를 거치지 않는 경로로 접속해 설정을 확인해야 합니다. 해결되지 않으면 비전 IDC 1:1 문의(https://visionidc.com/submitticket.php) 또는 텔레그램 VISIONIDC24로 문의해 주시기 바랍니다.

9. 관련 기술자료와 공식 참고자료

관련 비전 IDC 기술자료

공식 참고자료

10. 자주 묻는 질문

Windows에 기본 포함된 ssh 명령을 써도 되나요?

네. Windows 10 이후 버전에는 OpenSSH 클라이언트가 포함되어 있어 PowerShell이나 명령 프롬프트에서 ssh 계정@서버IP -p 포트 형식으로 접속할 수 있습니다. 여러 서버의 접속 정보를 창에서 저장·관리하고 싶다면 PuTTY가 편리하며, 두 방법을 함께 사용해도 문제없습니다.

32비트 설치 파일과 64비트 설치 파일 중 무엇을 받아야 하나요?

사용 중인 Windows가 64비트라면 64-bit x86 MSI 파일을 사용합니다. 현재 판매되는 대부분의 PC가 여기에 해당합니다. 32비트 Windows에서는 32-bit x86 파일을, ARM 기반 PC에서는 64-bit Arm 파일을 사용합니다.

PuTTY에 저장한 세션을 다른 PC로 옮길 수 있나요?

PuTTY 세션과 저장된 호스트 키는 Windows 레지스트리의 현재 사용자 영역(HKEY_CURRENT_USER\Software\SimonTatham\PuTTY)에 저장됩니다. 레지스트리 편집기에서 해당 키를 내보낸 뒤 다른 PC에서 가져오면 옮길 수 있습니다. 세션 수가 적다면 새 PC에서 다시 만드는 편이 간단합니다.

비밀번호를 여러 번 틀린 뒤 접속이 아예 되지 않습니다.

서버에 무차별 대입 방지 도구가 설정되어 있다면 일정 횟수 이상 로그인에 실패한 IP가 일시적으로 차단될 수 있습니다. 다른 네트워크에서 접속되는지 확인하거나, 콘솔로 접속해 차단 설정을 확인하십시오.

마무리

이번 문서에서는 Windows PC에 PuTTY를 설치하고 리눅스 서버에 SSH로 접속하는 기본 절차와 세션 저장, UTF-8 설정, .ppk 키 파일을 이용한 접속 방법을 살펴봤습니다.

처음에는 비밀번호로 접속하더라도 서버 운영이 안정되면 SSH 키 인증으로 전환하고, 호스트 키 경고가 표시될 때는 무심코 수락하지 말고 원인을 확인하는 습관을 들이는 것이 서버 보안에 도움이 됩니다.

  • 0 사용자에게 유용한 정보 제공
이 답변이 도움이 되었나요?
« Back