윈도우11 OpenSSH 서버 및 클라이언트 설치 방법

이 가이드는 Windows 11 또는 10에서 OpenSSH 서버 및 클라이언트 설치 방법에 대해 설명합니다.

Windows 사용자는 일반적으로 원격 데스크톱 프로토콜을 사용하여 다른 Windows 장치에 원격으로 접속하며, 이러한 RDP는 GUI 환경을 제공하므로 원격 접속이 편리합니다.

그러나 시스템 관리자인 경우 Secure Socket Shell 프로토콜을 사용하는 것을 선호할 수 있습니다.

SSH 접속은 PuTTY 등 타사 앱을 사용하는 경우가 많았지만, Windows용 OpenSSH Client를 사용하면 타사 도구가 필요하지 않습니다.

Windows용 OpenSSH 프로그램은 무료로 사용할 수 있으며, 원격 시스템에 접속하기 위한 별도 Client 프로그램을 설치할 필요가 없습니다.

다만 다른 시스템에서 접속하기 위한 Server 구성을 하고 싶다면 추가 기능을 설치해야 합니다.

Windows 11 OpenSSH 서버 및 클라이언트 설치 및 사용 방법

최신 버전 Windows 11 및 10에서는 OpenSSH Client 프로그램은 추가 설치 과정 없이 사용할 수 있으며, Server 기능이 필요한 경우 간단한 단계를 거쳐 설치할 수 있습니다.

Windows 11 및 Windows 10 (버전 1809 이상)에서 모두 작동하며, 필요한 경우 OpenSSH Server 및 Client 모두 설치하여 사용할 수 있습니다.

01 OpenSSH Server/Client

Secure Socket Shell 또는 Secure Shell은 다른 장치와 원격 연결을 보다 안전하게 사용하기 위한 프로토콜로 원격 컴퓨터와 암호화된 통신을 통해 데이터 무결성을 보장합니다.

OpenSSH는 원래 Linux 기반 운영 체제에서 다른 장치와 원격 연결에 사용되는 도구입니다.

오픈 소스로 개발 되었으므로 Microsoft 역시 업데이트 패키지 설치로 사용할 수 있는 Windows OpenSSH를 출시하였으며, OpenSSH Server/Client를 Windows 플랫폼에서도 사용할 수 있습니다.

Windows OpenSSH 요구 사항

Windows 11, 10 버전 1809 이상, PowerShell 5.1 이상, Administrator 그룹 구성원일 것

Windows 10 버전 사용자는 현재 OS 버전을 확인해야 합니다. 버전 확인은 다음 명령을 사용하세요.

winver
Windows PowerShell 버전 확인

Windows PowerShell 버전 확인 명령은 다음과 같습니다. 명령어 입력 후 Enter 키를 누르세요.

$PSVersionTable.PSVersion
사용자 계정에 대한 관리자 그룹 여부 확인

현재 사용자가 관리자 그룹에 속하는지 확인하려면 다음 명령을 입력하고 Enter 키를 누르세요.

(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

시스템에서 이러한 요구 사항을 모두 충족한다면 OpenSSH Server 설치가 가능합니다.

🔦 참고 : 일반적으로 최신 버전 Windows 사용자는 OpenSSH Client는 사전 설치되어 있습니다. 만약 설치되지 않았다면, Server 설치 단계에서 Clinet 설치도 가능합니다.

02 OpenSSH Server/Client 설치

Windows 시스템에서 OpenSSH Server를 설치하여 원격으로 액세스할 수 있습니다.

선택적 기능 옵션

키보드 단축키 Win + I 키를 눌러 Windows 설정을 열고 [시스템 > 선택적 기능]을 선택합니다.

기능 보기

선택적 기능 추가 항목에서 [기능 보기] 버튼을 클릭합니다.

추가된 기능 검색

참고로 OpenSSH 클라이언트가 사전 설치되어 있는지 확인하려면 ‘추가된 기능’ 검색 창에서 “OpenSSH”을 검색합니다.

OpenSSH 서버 기능 추가

‘선택적 기능 추가’ 팝업 창에서 “OpenSSH” 검색 후 “OpenSSH 서버” 항목 선택 후 [다음] 버튼을 클릭합니다.

🔦 참고 : OpenSSH Client 사전 설치되지 않은 시스템에서 클라이언트를 사용하려면, 해당 단계에서 서버 및 클라이언트를 모두 선택하고 설치할 수 있습니다.

모든 단계를 완료하면 OpenSSH 서버 및 클라이언트가 시스템에 설치됩니다. 참고로 해당 기능을 설치하는데 시간이 다소 소요될 수 있습니다.

03 OpenSSH Server 설정 및 사용 방법

Windows 11 또는 10 컴퓨터에 OpenSSH Server 설치 후 SSH 프로토콜을 사용하여 해당 컴퓨터에 접속하려면 SSH 서버를 구성해야 합니다.

OpenSSH 서버를 구성하는 것은 간단하지만 방화벽 허용 및 보안에 취약하지 않도록 기본 포트를 변경하는 것이 좋습니다.

관리자 권한 터미널 실행

키보드 단축키 Win + R 키를 눌러 실행 대화 상자를 열고 wt 입력 후  Ctrl + Shift + Enter 키를 눌러 관리자 권한으로 터미널을 실행합니다.

OpenSSH 서버 서비스 자동 시작 설정 및 SSHD 서비스 시작

OpenSSH Server 설치 컴퓨터에서 다음 명령으로 ‘SSHD’ 서비스를 자동으로 실행하도록 설정하고, 서비스를 시작합니다.

Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd

이제 다음 명령을 사용하여 SSH 서비스가 실행 중이고 현재 열려 있는, 사용 중인 포트를 확인합니다.

netstat -an | findstr ":22"

참고로 SSH 기본 포트는 “22”입니다. 해당 명령 실행 시 22번 포트에서 연결을 기다리고 있는 것을 확인할 수 있습니다.

OpenSSH 서버 설정 변경, sshd_config 파일 열기

다음 명령을 입력하고 Enter 키를 누르면 Windows Defender 방화벽에서 TCP 포트 22를 통해 Windows 시스템으로 Inbound 연결을 허용하는지 확인할 수 있습니다.

Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled

“OpehSSH-Server-In-TCP” 항목이 “True”로 설정되어 있다면, 방화벽이 허용되어 있는 상태입니다.

만약 해당 정책이 허용되지 않은 상태라면 다음 명령을 실행하여 새로운 Inbound 규칙을 생성합니다.

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
sshd_config 설정 파일

SSH 연결에 대한 암호화 알고리즘, 포트 번호 변경 등 규칙을 변경하려면, 다음 명령을 실행하여 해당 OpenSSH 설정 파일(sshd_config)을 불러올 수 있습니다.

start-process notepad C:\Programdata\ssh\sshd_config

SSH 설정을 변경한 경우 메모장에서 단축키 Ctrl + S 키를 사용하여 파일을 저장합니다.

🔦 참고 : sshd_config 설정 파일은 파일 탐색기에서 "C:\Programdata\ssh" 경로 이동 후 메모장을 이용하여 직접 열 수도 있습니다.
SSH 설정 변경 후 SSHD 서비스 다시 시작

설정을 변경한 경우 다음 명령을 사용하여 반드시 SSHD 서비스를 다시 시작하여 적용합니다.

restart-service sshd

모든 단계를 완료하면 SSH 프로토콜을 사용하여 해당 시스템에 연결할 수 있습니다.

04 OpenSSH Client 사용 방법

OpenSSH Server/Client 설치가 완료되면 네트워크의 원격 시스템에 연결할 수 있습니다. 물론 원격 시스템에 OpenSSH Server 설치가 완료되어야 합니다.

OpenSSH 접속 방법

OpenSSH 클라이언트에서 원격 시스템에 다음과 같이 접속할 수 있습니다.

ssh [UserName]@[ServerName]
SSH 기본 포트 변경

앞서 OpenSSH Server 구성 단계에서 언급했던 것처럼 기본 포트 22번은 보안에 취약할 수 있습니다. 따라서 알려진 포트가 아닌 다른 포트로 변경하는 것이 좋습니다.

예를 들어 기본 포트 22번에서 7022번으로 변경하는 방법은 다음과 같습니다.

start-process notepad C:\Programdata\ssh\sshd_config

SSH 설정 파일에서 “#Port 22” 구문을 찾아 “#”을 제거하고 포트 번호를 “Port 7022”로 변경합니다.

포트 변경 후 서비스 재시작, 변경된 포트로 SSH 접속 방법

변경 사항을 적용하기 위해 단축키 Ctrl + S 키를 사용하여 파일을 저장하고, 다음 명령을 실행합니다.

restart-service sshd

변경된 포트 번호로 연결을 대기하고 있는지 다음 명령을 이용하여 확인합니다.

netstat -an | findstr ":7022"

이제 변경된 포트 번호로 SSH 접속을 시도합니다. 포트 번호를 지정하는 방법은 다음과 같습니다.

ssh [UserName]@[ServerName] -p [PortNumber]

마치며

Linux/Unix 환경에서 SSH 프로토콜을 사용하여 원격 시스템을 관리하는 것을 선호한다면, Windows 환경 역시 OpenSSH로 접속하고 명령을 사용하여 원격 시스템을 관리할 수 있습니다.

Leave a Comment