OpenSSH 설치

적용 대상: Windows Server 2019, Windows 10: Windows Server 2022

OpenSSH는 SSH 프로토콜을 사용하는 원격 로그인을 위한 연결 도구입니다. 클라이언트와 서버 간의 모든 트래픽을 암호화하여 도청, 연결 하이재킹 및 기타 공격을 제거합니다.

OpenSSH를 사용하여 Windows 10(빌드 1809 이상) 또는 OpenSSH 클라이언트가 설치된 Windows Server 2019 디바이스를 OpenSSH 서버가 설치된 디바이스에 연결할 수 있습니다.

중요

PowerShell/openssh-portable의 GitHub 리포지토리에서 OpenSSH를 다운로드한 경우 이 문서의 지침이 아니라 여기에 나열된 지침을 따르세요.

Windows 설정을 사용하여 OpenSSH 설치

두 OpenSSH 구성 요소는 Windows Server 2019 및 Windows 10 디바이스에서 Windows 설정을 사용하여 설치할 수 있습니다.

OpenSSH 구성 요소를 설치하려면 다음을 수행합니다.

  1. 설정 을 열고 앱 > 앱 및 기능 을 선택한 다음, 선택적 기능 을 선택합니다.

  2. 목록을 검색하여 OpenSSH가 이미 설치되어 있는지 확인합니다. 그렇지 않은 경우 페이지 맨 위에서 기능 추가 를 선택한 후 다음을 수행합니다.

    • OpenSSH 클라이언트 를 찾은 다음, 설치 를 클릭합니다.
    • OpenSSH 서버 를 찾은 다음, 설치 를 클릭합니다.

설정이 완료되고 앱 > 앱 및 기능선택적 기능 으로 돌아가면 OpenSSH가 나열됩니다.

참고

OpenSSH 서버를 설치하면 OpenSSH-Server-In-TCP라는 방화벽 규칙이 생성되고 활성화됩니다. 이 규칙은 포트 22에서의 인바운드 SSH 트래픽을 허용합니다. 이 규칙을 사용하지 않고 이 포트가 열려 있지 않으면 연결이 거부되거나 다시 설정됩니다.

PowerShell을 사용하여 OpenSSH 설치

PowerShell을 사용하여 OpenSSH를 설치하려면 관리자 권한으로 PowerShell을 실행합니다. OpenSSH를 사용할 수 있는지 확인하려면 다음 cmdlet을 실행합니다.

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

그런 다음, 필요에 따라 서버 또는 클라이언트 구성 요소를 설치합니다.

# 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 서버 시작 및 구성

초기 사용을 위해 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 서버에 연결

설치되면 다음과 같이 PowerShell을 사용하여 OpenSSH 클라이언트가 설치된 Windows 10 또는 Windows Server 2019 디바이스에서 OpenSSH 서버에 연결할 수 있습니다. 관리자 권한으로 PowerShell을 실행해야 합니다.

ssh 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)?

를 선택하면 해당 서버가 Windows 클라이언트의 알려진 SSH 호스트 목록에 추가됩니다.

그리고 암호를 입력하라는 메시지가 표시됩니다. 보안을 위해 암호는 입력 중에 표시되지 않습니다.

연결되면 Windows 명령 셸 프롬프트가 표시됩니다.

domain\username@SERVERNAME C:\Users\username>

Windows 설정을 사용하여 OpenSSH 설치

Windows 설정을 사용하여 OpenSSH를 설치하려면 다음을 수행합니다.

  1. 설정 을 열고 앱 > 앱 및 기능 으로 이동합니다.
  2. 선택적 기능 으로 이동합니다.
  3. 목록에서 OpenSSH 클라이언트 또는 OpenSSH 서버 를 선택합니다.
  4. 제거 를 선택합니다.

PowerShell을 사용하여 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를 다시 시작해야 할 수 있습니다.