HELPER VPS

윈도우에서 VPS SSH 접속하기, PowerShell과 PuTTY 사용법

윈도우 PC 한 대면 따로 프로그램을 사지 않고도 리눅스 서버에 바로 접속해요. 기본으로 들어 있는 PowerShell의 ssh 명령과 오래 쓰여 온 PuTTY, 두 가지 방법을 모두 정리했어요.

접속 전에 준비할 것

SSH는 내 컴퓨터와 서버 사이를 암호화해서 명령을 주고받는 방법이에요. 리눅스 VPS는 처음부터 SSH 서버가 켜진 상태로 만들어지고, 기본 포트는 22번이에요. 접속에 필요한 정보는 세 가지뿐이에요.

  • 서버의 IPv4 주소: 서버 페이지 개요에 표시돼요.
  • 사용자 이름: 처음에는 root를 써요.
  • root 비밀번호: 서버 페이지의 root 비밀번호 칸에서 보기를 누르면 나와요. 설정 후 7일 동안 표시되니 비밀번호 관리자에 저장해 두세요.

서버 상태가 실행 중으로 바뀐 뒤에 접속해요. 서버를 만드는 중이거나 재설치 중이면 설치가 끝날 때까지 잠깐 기다리면 돼요. 아래 명령의 YOUR_SERVER_IP는 내 서버의 IPv4 주소로 바꿔서 입력해요.

방법 1. PowerShell 기본 ssh 명령으로 접속

윈도우 10 버전 1809 이후와 윈도우 11에는 OpenSSH 클라이언트가 기본으로 들어 있어요. 따로 설치하지 않고 PowerShell이나 Windows 터미널에서 맥, 리눅스와 똑같은 ssh 명령을 써요.

1단계. PowerShell 열기

시작 메뉴에서 PowerShell 또는 터미널을 검색해서 열어요. 아래 명령으로 ssh가 준비돼 있는지 확인해요. OpenSSH 버전이 한 줄로 나오면 준비가 끝난 거예요.

PowerShell
ssh -V

버전 대신 명령을 찾을 수 없다는 안내가 나오면 설정의 선택적 기능에서 OpenSSH 클라이언트를 추가해요. 윈도우 11은 설정 > 시스템 > 선택적 기능, 윈도우 10은 설정 > 앱 > 선택적 기능에 있어요. 관리자 권한 PowerShell에서 아래 명령 한 줄로 추가해도 돼요.

PowerShell (관리자)
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

2단계. 서버에 접속

PowerShell
ssh root@YOUR_SERVER_IP

처음 접속할 때는 서버의 지문을 저장할지 묻는 문장이 나와요. yes를 입력하고 Enter를 누르면 지문이 내 PC의 known_hosts 파일에 저장되고, 다음부터는 묻지 않아요. 이어서 password 입력 칸이 나오면 서버 페이지에서 복사한 root 비밀번호를 붙여 넣어요.

Windows 터미널과 PowerShell 창에서는 마우스 오른쪽 클릭이나 Ctrl+Shift+V로 붙여 넣어요. 비밀번호는 입력하는 동안 화면에 보이지 않는 것이 정상이니, 한 번만 붙여 넣고 Enter를 누르면 돼요. 프롬프트가 root@서버이름:~# 모양으로 바뀌면 접속에 성공한 거예요.

3단계. 첫 명령 실행

접속하자마자 시스템을 최신으로 맞춰 두면 좋아요. Ubuntu와 Debian은 apt update && apt upgrade -y, AlmaLinux와 Rocky Linux는 dnf upgrade -y를 실행해요. 일반 사용자 만들기와 업데이트 순서는 첫 로그인 가이드에 자세히 있어요. 작업을 마치면 exit로 접속을 끝내요.

PowerShell에서 SSH 키로 비밀번호 없이 접속

SSH 키를 쓰면 매번 비밀번호를 붙여 넣지 않아도 되고, 비밀번호를 맞히려는 시도에도 훨씬 든든해요. 윈도우에서도 같은 ssh-keygen 명령으로 키를 만들어요.

PowerShell
ssh-keygen -t ed25519

저장 위치를 물으면 Enter로 기본값을 쓰고, 키 비밀번호(passphrase)는 정해 두는 것을 권해요. 두 파일이 C:\Users\내이름\.ssh 폴더에 만들어져요. id_ed25519는 개인 키로 내 PC에만 두고, id_ed25519.pub가 서버에 넣는 공개 키예요. 공개 키 내용은 아래 명령으로 보고 복사해요.

PowerShell
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

새 서버라면 계정의 SSH 키 메뉴에 공개 키를 붙여 넣고, 서버를 만들 때 그 키를 고르면 처음부터 키로 접속해요. 순서는 SSH 키 가이드에 있어요. 이미 쓰고 있는 서버에는 아래 명령 한 줄로 공개 키를 추가해요. 이때 한 번만 root 비밀번호를 입력해요.

PowerShell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@YOUR_SERVER_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

서버가 여러 대라면 접속 정보를 이름으로 저장해 두면 편해요. C:\Users\내이름\.ssh\config 파일을 메모장으로 만들고 아래처럼 적으면 ssh myvps 한 단어로 접속해요.

C:\Users\내이름\.ssh\config
Host myvps
    HostName YOUR_SERVER_IP
    User root
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 30

ServerAliveInterval 30은 30초마다 신호를 보내서, 잠깐 자리를 비워도 접속이 오래 유지되게 해 줘요.

방법 2. PuTTY로 접속

PuTTY는 윈도우에서 오래 쓰여 온 무료 SSH 프로그램이에요. 접속 정보를 이름별로 저장해 두고 더블클릭으로 여는 방식이 편하다면 PuTTY가 잘 맞아요. 공식 사이트(putty.org)에서 64비트 설치 파일(MSI)을 받아 설치하면 PuTTY와 키를 만드는 PuTTYgen이 함께 들어와요.

1단계. 접속 정보 입력과 저장

  • PuTTY를 열면 Session 화면이 나와요.
  • Host Name에 서버 IPv4 주소, Port에 22를 넣고 Connection type은 SSH를 그대로 둬요.
  • 왼쪽 Connection > Data의 Auto-login username에 root를 적어요.
  • Connection의 Seconds between keepalives에 30을 넣으면 접속이 오래 유지돼요.
  • 다시 Session 화면으로 돌아와 Saved Sessions에 이름(예: myvps)을 적고 Save를 눌러요.

2단계. 접속

저장한 이름을 고르고 Open을 눌러요. 처음에는 서버 지문을 확인하는 창이 나오고, Accept를 누르면 지문이 저장돼요. password 칸이 나오면 root 비밀번호를 마우스 오른쪽 클릭으로 붙여 넣고 Enter를 눌러요. PuTTY에서는 오른쪽 클릭이 붙여 넣기, 글자를 드래그하면 바로 복사예요.

3단계. PuTTYgen으로 SSH 키 쓰기

PuTTYgen을 열고 Key 종류에서 EdDSA(Ed25519)를 고른 뒤 Generate를 누르고, 진행 막대가 찰 때까지 빈 칸 위에서 마우스를 움직여요. Key passphrase를 정하고 Save private key로 개인 키를 .ppk 파일로 저장해요.

창 위쪽의 Public key for pasting into OpenSSH authorized_keys file 칸에 나온 한 줄이 공개 키예요. 이 줄을 계정의 SSH 키 메뉴에 등록하거나, 이미 쓰는 서버의 ~/.ssh/authorized_keys 파일 끝에 붙여 넣어요. 그다음 PuTTY의 Connection > SSH > Auth > Credentials에서 Private key file for authentication에 .ppk 파일을 고르고, Session 화면에서 다시 Save를 누르면 다음부터 비밀번호 없이 접속해요.

PowerShell에서 만든 OpenSSH 키를 PuTTY에서도 쓰고 싶다면 PuTTYgen의 Conversions > Import key로 id_ed25519를 불러와 .ppk로 저장하면 돼요. 키 하나로 두 프로그램을 함께 써요.

윈도우와 서버 사이에 파일 옮기기

PowerShell에는 ssh와 함께 scp 명령도 들어 있어요. 내 PC의 파일을 서버로 올리거나 서버의 파일을 내 PC로 내려받을 때 써요.

PowerShell
scp .\site.zip root@YOUR_SERVER_IP:/root/
scp root@YOUR_SERVER_IP:/root/backup.tar.gz .\

폴더째 옮길 때는 scp -r을 붙여요. 탐색기처럼 끌어다 놓는 방식이 편하다면 WinSCP 같은 SFTP 프로그램에 같은 주소, 포트 22, 사용자 root를 넣으면 돼요. WinSCP는 PuTTY에 저장한 세션과 .ppk 키를 그대로 불러올 수 있어요.

접속이 안 될 때 확인 순서

대부분 아래 네 가지 중 하나라서, 순서대로 보면 금방 다시 접속해요.

  • Connection timed out: 서버 상태가 실행 중인지, IP 주소가 맞는지 먼저 봐요. 방화벽을 켰다면 SSH(22번)가 허용돼 있어야 해요. 회사나 학교 네트워크가 22번을 막는 경우도 있으니 휴대폰 테더링 같은 다른 네트워크로 한 번 시험해 봐요.
  • Permission denied: 비밀번호를 다시 복사해서 한 번만 붙여 넣어요. 앞뒤 공백이 함께 복사되지 않았는지도 봐요. 7일이 지나 비밀번호가 보이지 않으면 서버 페이지의 새 root 비밀번호 만들기로 새 비밀번호를 받아요.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: 서버를 재설치하면 서버 지문이 새로 만들어져서 나오는 안내예요. ssh-keygen -R YOUR_SERVER_IP로 저장된 옛 지문을 지우고 다시 접속하면 돼요.
  • Connection refused: 서버 안의 SSH 서비스가 멈췄거나 포트를 바꾼 경우예요. 포트를 바꿨다면 ssh -p 포트번호 root@YOUR_SERVER_IP로 접속해요.

비밀번호 다시 만들기와 재설치 뒤의 접속 순서는 재설치와 root 비밀번호 가이드에 정리돼 있어요. 접속에 성공했다면 기본 방화벽 가이드로 쓰는 포트만 열어 두세요.

다음으로 해 두면 좋은 일

SSH 키로 접속이 되면 비밀번호 로그인을 꺼서 서버를 더 단단하게 지킬 수 있어요. 키 접속을 먼저 확인한 다음, 서버에서 /etc/ssh/sshd_config 파일의 PasswordAuthentication을 no로 바꾸고 SSH 서비스를 다시 시작해요. Ubuntu와 Debian은 systemctl restart ssh, AlmaLinux는 systemctl restart sshd예요.

웹사이트나 앱을 올릴 계획이라면 Docker 설치 가이드나 워드프레스 설치 가이드로 이어 가요. 윈도우 바탕 화면이 그대로 필요한 작업이라면 원격 데스크톱으로 접속하는 Windows VPS가 더 잘 맞아요.

함께 보면 좋은 가이드

이 가이드와 이어서 해 두면 좋은 설정이에요.

가이드 전체 보기