RDP 없이 원격 관리하기: PowerShell
명령으로 Windows Server 머신을 관리하는 방법을 다뤄요. WinRM, SSH를 통한 PowerShell, 안전한 설정, 그리고 그래픽 세션을 사용할 수 없을 때의 대처를 설명해요.
업데이트 2026년 8월 23일
RDP는 편리하지만 대역폭과 GUI, 열린 포트가 필요해요. 업데이트, 서비스 재시작, 로그 확인 같은 일상적인 작업에는 명령줄이 더 빠르고 안전해요. 3분 동안 클릭하는 대신 한 줄이면 끝나니까요.
방법 하나: SSH로 PowerShell 사용하기
Windows Server 2022와 2025에는 OpenSSH 서버가 기본으로 포함되어 있어요. 특히 이미 키를 사용하고 있다면 이 방법이 가장 간단해요.
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service sshd -StartupType Automatic
New-NetFirewallRule -DisplayName "SSH" -Direction Inbound -Protocol TCP -LocalPort 22 `
-RemoteAddress 203.0.113.5 -Action Allow
PowerShell을 기본 셸로 설정하세요:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell `
-Value "C:\Program Files\PowerShell\7\pwsh.exe" -PropertyType String -Force
로그인 키는 C:\Users\<name>\.ssh\authorized_keys에 넣고, 관리자의 경우 C:\ProgramData\ssh\administrators_authorized_keys에 넣는데, 이때 권한은 SYSTEM과 Administrators 그룹에만 부여해야 해요. 그렇지 않으면 서버가 키를 무시해요. 그다음 C:\ProgramData\ssh\sshd_config에서 비밀번호 로그인을 비활성화하고(PasswordAuthentication no) 서비스를 재시작하세요.
접속은 일반적인 방식과 같아요:
ssh Administrator@YOUR_ADDRESS
방법 둘: WinRM
Windows에 내장된 메커니즘이에요. 포트 5985(HTTP) 또는 5986(HTTPS)을 사용해요.
Enable-PSRemoting -Force
Set-NetFirewallRule -Name WINRM-HTTP-In-TCP -RemoteAddress 203.0.113.5
암호화되지 않은 5985를 인터넷에 노출하면 안 돼요. 올바른 방법은 인증서를 사용한 HTTPS 리스너예요:
$c = New-SelfSignedCertificate -DnsName "vds.example.ru" -CertStoreLocation Cert:\LocalMachine\My
New-Item -Path WSMan:\Localhost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $c.Thumbprint -Force
New-NetFirewallRule -DisplayName "WinRM HTTPS" -Direction Inbound -Protocol TCP -LocalPort 5986 `
-RemoteAddress 203.0.113.5 -Action Allow
다른 Windows 머신에서 작업하기:
$s = New-PSSession -ComputerName vds.example.ru -UseSSL -Credential (Get-Credential)
Invoke-Command -Session $s { Get-Service | Where-Object Status -eq Running | Select-Object -First 10 }
Enter-PSSession $s
명령으로 처리하면 편한 작업
Restart-Service W3SVC # restart IIS
Get-WinEvent -LogName System -MaxEvents 20 # latest events
Get-Process | Sort-Object WS -Desc | Select-Object -First 10 Name, WS
Get-Volume | Select-Object DriveLetter, SizeRemaining
Restart-Computer -Force
업데이트도 GUI 없이 설치할 수 있어요. 자세한 내용은 Windows Server 업데이트를 참고하세요.
비상 접근
RDP, SSH, WinRM이 모두 응답하지 않는다면 패널의 /hosting/vds/m/<id>에 있는 “Console” 탭의 “Screen” 모드(VNC)가 남아 있어요. 이는 모니터처럼 머신에 연결되며 OS 내부의 네트워크 설정과 무관하게 작동해요. Windows에서는 시리얼 포트를 통한 텍스트 콘솔은 의미가 없어요.
흔한 실수
- 5985를 인터넷 전체에 개방하는 경우. 이는 암호화되지 않은 채널로 머신을 관리하는 것이에요. 항상 주소를 제한하고 HTTPS를 우선 사용하세요.
administrators_authorized_keys에 잘못된 권한을 설정하는 경우. OpenSSH 서버는 다른 사용자가 쓸 수 있는 파일을 조용히 무시해요. SYSTEM과 Administrators 외에는 상속을 비활성화한 상태로icacls를 사용해 수정하세요.- 잘못된 네트워크 프로필에 규칙을 만든 경우. 활성 프로필을 확인하세요:
Get-NetConnectionProfile. - RDP를 비활성화할 때 NLA와 비밀번호를 잊는 경우. RDP를 비활성화하기 전에 대체 접근이 작동하는지 확인하세요.
설정 명령을 파일에 기록하는 습관을 들이세요. “Access” 탭에서 OS를 재설치하는 데는 몇 분이 걸리지만, 기억에 의존해 설정을 복원하는 데는 몇 시간이 걸려요.