안녕하세요. 비전 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는 개발자가 운영하는 공식 페이지에서 내려받는 것이 가장 안전합니다. 검색 결과에는 이름이 비슷한 광고 사이트나 재배포 사이트가 섞여 있을 수 있으므로 아래 주소로 직접 접속하는 것을 권장합니다.
- PuTTY 최신 버전 다운로드 페이지: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
페이지의 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 파일을 더블클릭하면 설치 마법사가 실행됩니다. 설치 과정은 다음과 같이 진행됩니다.
- 시작 화면에서 Next를 클릭합니다.
- 설치 경로를 확인합니다. 특별한 이유가 없다면 기본 경로(
C:\Program Files\PuTTY\)를 그대로 사용합니다. - 설치할 기능 목록이 표시되면 기본값을 유지한 채 Install을 클릭합니다.
- Windows 사용자 계정 컨트롤(UAC) 창이 표시되면 예를 선택합니다.
- 설치가 끝나면 Finish를 클릭합니다.
설치가 완료되면 시작 메뉴에서 PuTTY를 검색해 실행할 수 있습니다. 같은 폴더에 PuTTYgen, Pageant, PSFTP 등이 함께 설치됩니다.
3. 서버에 처음 접속하기
접속 정보 입력
PuTTY를 실행하면 PuTTY Configuration 창이 열리고 왼쪽 Category 트리에서 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 화면에서 다음 순서로 진행합니다.
- Host Name과 Port를 입력합니다.
- 뒤에서 설명할 글꼴, 인코딩, 키 파일 등 필요한 설정을 모두 변경합니다.
- 다시 Session 화면으로 돌아와 Saved Sessions 입력란에 알아보기 쉬운 이름(예:
jp-vps-web01)을 입력합니다. - 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의 문자 집합이 서버와 다르면 한글 파일명이나 로그가 깨져 보이므로 다음 설정을 확인합니다.
- 왼쪽 트리에서 Window → Translation을 선택합니다.
- Remote character set 항목을 UTF-8로 선택합니다.
- Session 화면으로 돌아가 세션을 선택하고 Save를 클릭합니다.
PuTTY 설정이 UTF-8인데도 한글이 깨진다면 서버의 로케일 설정을 함께 확인합니다.
locale
echo $LANG
출력 값에 UTF-8(또는 utf8)이 포함되어 있다면 서버 쪽은 UTF-8 환경입니다. POSIX나 C로만 표시된다면 서버 로케일 설정이 원인일 수 있습니다.
스크롤 가능한 줄 수 늘리기
긴 명령 결과를 위로 스크롤해서 보려면 Window 화면의 Lines of scrollback 값을 늘립니다. 설정 변경 후에는 세션 저장을 잊지 마십시오.
6. 개인 키(.ppk) 파일로 접속하기
SSH 키 인증을 사용하면 비밀번호를 입력하지 않고 개인 키 파일로 로그인할 수 있어 무차별 대입 공격에 대한 노출을 줄일 수 있습니다. 서버에 공개 키를 등록하는 방법은 리눅스 서버 SSH 키 인증 로그인 설정 방법 문서를 참고해 주십시오. 여기서는 PuTTY에서 개인 키를 지정하는 방법을 설명합니다.
PuTTY는 기본적으로 자체 형식인 .ppk 개인 키 파일을 사용합니다. 이미 .ppk 파일이 있다면 다음 순서로 지정합니다.
- 저장한 세션을 선택하고 Load를 클릭합니다.
- 왼쪽 트리에서 Connection → SSH → Auth → Credentials로 이동합니다.
- Private key file for authentication 항목의 Browse...를 눌러 .ppk 파일을 선택합니다.
- Session 화면으로 돌아가 Save를 클릭한 뒤 Open으로 접속합니다.
접속하면 login as:에 계정을 입력한 뒤, 키에 암호(passphrase)를 설정했다면 암호 입력을 요청받습니다. 이때 입력하는 값은 서버 계정 비밀번호가 아니라 키 파일에 설정한 암호입니다.
7. PuTTYgen으로 키 생성 및 변환하기
OpenSSH 개인 키를 .ppk로 변환
리눅스나 macOS에서 ssh-keygen으로 만든 개인 키(예: id_ed25519, id_rsa)는 OpenSSH 형식이므로 PuTTY에서 사용하려면 .ppk 형식으로 변환해야 합니다.
- 시작 메뉴에서 PuTTYgen을 실행합니다.
- 상단 메뉴 Conversions → Import key를 선택하고 OpenSSH 개인 키 파일을 엽니다.
- 키에 암호가 설정되어 있다면 암호를 입력합니다.
- 필요하면 Key passphrase와 Confirm passphrase에 암호를 입력합니다.
- Save private key를 클릭해 .ppk 파일로 저장합니다.
PuTTYgen에서 새 키 쌍 만들기
Windows에서 새로 키를 만들 경우에도 PuTTYgen을 사용할 수 있습니다.
- Parameters 영역에서 키 종류를 선택합니다. 최신 서버라면 EdDSA(Ed25519)를, 오래된 시스템과의 호환이 필요하다면 RSA(3072비트 이상 권장)를 선택합니다.
- Generate를 클릭하고 안내에 따라 빈 영역에서 마우스를 움직여 난수를 생성합니다.
- 암호(passphrase)를 입력한 뒤 Save private key로 개인 키(.ppk)를 저장합니다.
- 창 상단의 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. 자주 발생하는 문제와 확인 방법
| 증상 | 가능한 원인 | 확인 및 해결 방향 |
|---|---|---|
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 기술자료
- 리눅스 서버 SSH 키 인증 로그인 설정 방법 — 서버에 공개 키를 등록하고 비밀번호 로그인을 제한하는 방법
- CentOS 7 SSH 포트 변경 방법 — 변경한 포트로 PuTTY에서 접속할 때 참고
- Ubuntu SSH 접속 포트 변경하는 방법 — Ubuntu 서버의 SSH 포트 변경 절차
- Ubuntu 22.04에서 SSH 접속 시 Connection timed out 오류를 해결하는 방법 —
Connection timed out오류가 발생할 때 참고 - CentOS 7에서 SSH 접속 시 Host key verification failed 오류를 해결하는 방법 — 호스트 키 변경 경고의 원인과 대응
공식 참고자료
- PuTTY 공식 다운로드 페이지 — 최신 설치 파일과 부가 도구
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 키 인증으로 전환하고, 호스트 키 경고가 표시될 때는 무심코 수락하지 말고 원인을 확인하는 습관을 들이는 것이 서버 보안에 도움이 됩니다.
