OpenSSH는 SSH 프로토콜을 사용하는 원격 로그인에 대한 연결 도구입니다. 클라이언트와 서버 간의 모든 트래픽을 암호화하여 도청, 연결 하이재킹 및 기타 공격을 제거합니다.
OpenSSH 호환 클라이언트를 사용하여 Windows Server 및 Windows 클라이언트 디바이스에 연결할 수 있습니다.
중요
GitHub 리포지토리의 PowerShell/Win32-OpenSSH에서 OpenSSH 베타를 다운로드한 경우 이 문서의 지침이 아니라 여기에 나와 있는 지침을 따르세요. Win32-OpenSSH 리포지토리의 일부 정보는 릴리스되기 전에 상당히 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 어떠한 보증도 하지 않습니다.
시작하기 전에 컴퓨터에서 다음 요구 사항을 충족해야 합니다.
환경의 유효성을 검사하려면 관리자 권한 PowerShell 세션을 열고 다음을 수행합니다.
winver.exe를 입력하고 Enter 키를 눌러 Windows 장치의 버전 세부 정보를 확인합니다.
$PSVersionTable.PSVersion
를 실행합니다. 주 버전이 5 이상이고 부 버전이 1 이상인지 확인합니다. Windows에 PowerShell 설치에서 자세히 알아보세요.
다음 명령을 실행합니다. 출력은 기본 제공 관리자 그룹의 구성원일 때 True
이(가) 표시됩니다.
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
Windows Server 2025용 OpenSSH 활성화
Windows Server 2025 버전부터 OpenSSH가 기본 설치됩니다. 서버 관리자에서 sshd
서비스를 사용하거나 사용하지 않도록 설정할 수도 있습니다.
서버 관리자 사용하여 SSHD를 활성화하려면:
왼쪽의 탐색 창에 있는 서버 관리자에서 로컬 서버를 선택합니다.
속성 창에서 원격 SSH 액세스를 찾습니다.
사용 안 함으로 선택하여 OpenSSH 서비스를 활성화하도록 설정합니다.
참고
특정 사용자 또는 그룹이 원격 액세스를 위해 OpenSSH를 사용하도록 허용하거나 제한해야 하는 경우 OpenSSH 사용자 그룹에 추가합니다.
PowerShell을 통해 SSHD를 활성화하려면:
관리자로서 PowerShell을 열고 다음 cmdlet을 실행하여 SSHD 서비스를 시작합니다.
# Start the sshd service
Start-Service sshd
선택 사항이지만 권장되는 다음 cmdlet을 실행하여 SSHD를 자동으로 시작하여 사용하도록 유지할 수도 있습니다.
Set-Service -Name sshd -StartupType 'Automatic'
마지막으로 다음 명령을 실행하여 SSHD 설치 프로세스가 방화벽 규칙을 자동 구성했는지 확인합니다.
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
Windows Server용 OpenSSH 설치
Windows 10 디바이스에 OpenSSH 구성 요소를 설치하려면:
설정을 열고, 시스템을 선택한 다음, 선택적 기능을 선택합니다.
목록을 검색하여 OpenSSH가 이미 설치되어 있는지 확인합니다. 그렇지 않은 경우 페이지 맨 위에서 기능 추가를 선택한 후 다음을 수행합니다.
OpenSSH 클라이언트를 찾은 다음, 설치를 선택합니다.
OpenSSH 서버를 찾은 다음, 설치를 선택합니다.
서비스 데스크톱 앱을 엽니다. (시작을 선택하고, 검색 상자에서 services.msc를 입력한 다음, 서비스 앱을 선택하거나 ENTER 키를 누릅니다.)
세부 정보 창에서 OpenSSH SSH 서버를 두 번 클릭합니다.
일반 탭의 시작 유형 드롭다운 메뉴에서 자동을 선택한 다음 확인을 선택합니다.
서비스를 시작하려면 시작을 선택합니다.
Windows 11 디바이스에 OpenSSH 구성 요소를 설치하려면:
설정을 열고, 시스템을 선택한 다음, 선택적 기능을 선택합니다.
목록을 검색하여 OpenSSH가 이미 설치되어 있는지 확인합니다. 그렇지 않은 경우 페이지 맨 위에서 기능 보기를 선택한 후 다음을 수행합니다.
OpenSSH 클라이언트를 검색하고, 다음을 선택한 다음, 설치 선택
OpenSSH 서버를 검색하고, 다음을 선택한 다음, 설치 선택
서비스 데스크톱 앱을 엽니다. (시작을 선택하고, 검색 상자에서 services.msc를 입력한 다음, 서비스 앱을 선택하거나 ENTER 키를 누릅니다.)
세부 정보 창에서 OpenSSH SSH 서버를 두 번 클릭합니다.
일반 탭의 시작 유형 드롭다운 메뉴에서 자동을 선택한 다음 확인을 선택합니다.
서비스를 시작하려면 시작을 선택합니다.
Windows Server 디바이스에 OpenSSH 구성 요소를 설치하려면:
설정을 열고, 시스템을 선택한 다음 선택적 기능(선택적 기능 관리라고도 함)을 선택합니다.
목록을 검색하여 OpenSSH가 이미 설치되어 있는지 확인합니다. 그렇지 않은 경우 페이지 맨 위에서 기능 추가를 선택한 후 다음을 수행합니다.
OpenSSH 클라이언트를 검색한 다음, 설치 선택
OpenSSH 서버를 검색한 다음, 설치 선택
서비스 데스크톱 앱을 엽니다. (시작을 선택하고, 검색 상자에서 services.msc를 입력한 다음, 서비스 앱을 선택하거나 ENTER 키를 누릅니다.)
세부 정보 창에서 OpenSSH SSH 서버를 두 번 클릭합니다.
일반 탭의 시작 유형 드롭다운 메뉴에서 자동을 선택한 다음 확인을 선택합니다.
서비스를 시작하려면 시작을 선택합니다.
참고
OpenSSH 서버를 설치하면 OpenSSH-Server-In-TCP
라는 방화벽 규칙이 생성되고 활성화됩니다. 이 규칙은 포트 22에서의 인바운드 SSH 트래픽을 허용합니다. 이 규칙을 사용하지 않고 이 포트가 열려 있지 않으면 연결이 거부되거나 다시 설정됩니다.
PowerShell을 통해 OpenSSH를 설치하려면:
관리자 권한으로 PowerShell을 실행합니다.
다음 cmdlet을 실행해 OpenSSH를 사용할 수 있는지 확인합니다.
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
둘 다 아직 설치되지 않은 경우 명령에서 다음 출력을 반환합니다.
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
그런 다음 다음 cmdlet을 실행하여 필요에 따라 서버 또는 클라이언트 구성 요소를 설치합니다.
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
두 명령 모두에서 다음 출력을 반환합니다.
Path :
Online : True
RestartNeeded : False
초기 사용을 위해 OpenSSH 서버를 시작하고 구성하려면 관리자 권한 PowerShell 프롬프트를 열고(마우스 오른쪽 클릭 후 관리자 권한으로 실행 선택) 다음 명령을 실행하여 sshd service
을(를) 시작합니다.
# Start the sshd service
Start-Service sshd
# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'
# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
설치되면 OpenSSH 클라이언트가 설치된 Windows 또는 Windows Server 디바이스에서 OpenSSH 서버에 연결할 수 있습니다. PowerShell 프롬프트에서 다음 명령을 실행합니다.
ssh domain\username@servername
연결되면 다음 출력과 비슷한 메시지가 표시됩니다.
The authenticity of host 'servername (10.00.00.001)' can't be established.
ECDSA key fingerprint is SHA256:(<a large string>).
Are you sure you want to continue connecting (yes/no)?
yes를 입력하면 해당 서버가 Windows 클라이언트의 알려진 SSH 호스트 목록에 추가됩니다.
이 시점에서 암호를 입력하라는 프롬프트를 서비스에서 표시합니다. 보안 예방 조치로 암호 문자는 입력할 때 표시되지 않습니다.
연결되면 다음 Windows 명령 셸 프롬프트가 표시되어야 합니다.
domain\username@SERVERNAME C:\Users\username>
Windows 설정을 사용하여 OpenSSH를 설치하려면 다음을 수행합니다.
설정을 열고, 시스템을 선택한 다음 선택적 기능(선택적 기능 관리라고도 함)을 선택합니다.
목록에서 OpenSSH 클라이언트 또는 OpenSSH 서버를 선택합니다.
제거를 선택합니다.
PowerShell을 사용하여 OpenSSH를 제거하려면 다음 명령 중 하나를 사용합니다.
# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
서비스를 제거할 때 서비스를 사용 중이면 Windows를 재시작해야 합니다.
Windows용 OpenSSH 서버 설치를 완료했으며, 사용법을 익히는 데 도움이 되는 몇 가지 문서가 있습니다.