Netwrix 1Secure는 데이터와 아이덴티티 전반에 걸쳐 통합된 가시성을 제공합니다 - 14일간 무료로 전체 액세스가 가능합니다.무료 평가판 시작

리소스 센터블로그

Windows Server에서 파일을 이동하기 위해 OpenSSH를 사용하는 방법

Windows Server에서 파일을 이동하기 위해 OpenSSH를 사용하는 방법

Apr 5, 2024

Linux 및 Unix 관리자는 수십 년 동안 해당 시스템에 포함되어 있었기 때문에 Open Secure Shell (OpenSSH)를 사용해 서버에 접속하는 데 익숙합니다. 반면 Windows 사용자는 전통적으로 SSH 기능을 활용하려면 Putty나 WinSCP 같은 타사 도구를 다운로드해야 했습니다.

그러나 이러한 상황은 OpenSSH가 Windows 10 및 Windows Server 2019에서 선택적 기능으로 제공되면서 바뀌었습니다. Windows는 이제 기본적으로 SSH 서버와 SSH 클라이언트를 모두 제공하므로 암호화 기능이 없는 telnet이나 FTP를 사용할 이유는 전혀 없습니다. SSH는 서버에 연결하거나 네트워크 연결을 통해 파일을 복사해야 할 때 더 뛰어난 보안을 제공합니다.

이 문서에서는 OpenSSH를 설치하는 방법과 WinSCP 또는 PowerShell을 사용해 파일을 안전하게 전송하는 방법을 자세히 설명합니다.

OpenSSH는 무엇에 사용하나요?

OpenSSH는 SSH 프로토콜을 사용하여 컴퓨터 네트워크를 통해 보안 통신 세션을 제공하는 도구입니다. 다음을 포함하여 다양한 작업에 사용할 수 있습니다.

  • 서버 관리 또는 기술 지원을 위해 원격 시스템에 안전하게 로그인하고 명령을 실행합니다.
  • 두 대의 시스템 사이에서 파일을 안전하게 복사하거나 이동합니다.

이 작업은 OpenSSH에 Secure Copy 프로토콜(SCP)과 SSH File Transfer 프로토콜(SFTP)이 포함되어 있고, OpenSSH가 보안 터널을 통해 모든 트래픽을 암호화하므로 안전합니다. 이를 통해 인터넷 또는 신뢰할 수 없는 네트워크를 통해 민감한 데이터를 전송할 수 있습니다. 터널은 클라이언트와 서버가 공개 키를 교환할 때 생성됩니다.

Windows에서 OpenSSH 기능을 추가하는 방법

사전 요구 사항

Windows 컴퓨터에 OpenSSH를 설치하려면:

  • 해당 장치는 최소 Windows Server 2019 또는 Windows 10(빌드 1809)에서 실행 중이어야 합니다.
  • 해당 컴퓨터는 PowerShell 5.1 이상을 실행 중이어야 합니다.
  • 내장 Administrators 그룹의 구성원인 계정을 사용해야 합니다.

먼저 OpenSSH가 이미 설치되어 있는지 확인하는 것부터 시작하세요. Administrators 권한의 Windows PowerShell 터미널을 사용하여 다음 명령을 실행합니다:

      Get-WindowsCapability -Online -Name "Open*"
      

아래 스크린샷에서 OpenSSH 클라이언트는 설치되어 있지만 OpenSSH 서버는 설치되어 있지 않음을 확인할 수 있습니다.

Image

아래 설명에 따라 Windows 설정 또는 PowerShell을 사용하여 OpenSSH 서버와 OpenSSH 클라이언트 모두를 설치할 수 있습니다.

Windows 설정을 사용하여 OpenSSH 설치

  1. 먼저 설정에서 Apps & features 섹션으로 이동한 다음 Manage optional features 를 클릭하세요.
Image
  • Add a feature 를 클릭하세요.
Image
  • 서버 구성 요소를 설치하려면 OpenSSH Server 를 선택한 다음 Install 버튼을 클릭하세요.
Image
  • 다음으로 SSH 클라이언트를 설치합니다. OpenSSH Client 를 선택하고 Install 을 클릭하세요. 클라이언트가 이미 설치되어 있으면 아래에 표시된 것처럼 Uninstall 버튼이 대신 표시됩니다. 이 경우에는 추가 작업이 필요하지 않습니다.
Image
  • Windows 서비스 관리자(Windows Services Manager)를 사용하여 OpenSSH 서비스가 자동으로 실행되도록 구성하세요. 아래 스크린샷에 표시된 것처럼 진행하면 됩니다:
Image
  • Windows Defender 방화벽(고급 보안)이 활성화되어 있으면, IANA(Internet Assigned Numbers Authority)가 SSH에 할당한 포트 22를 열어야 합니다.

PowerShell을 사용하여 OpenSSH 설치하기

또는 Windows PowerShell을 사용하여 OpenSSH 서버와 클라이언트 구성 요소를 설치할 수도 있습니다.

  1. 다음 명령을 사용하여 OpenSSH 서버 구성 요소를 설치하세요:
      Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

      
Image
  • 그런 다음 다음 명령을 사용하여 OpenSSH 클라이언트를 설치합니다:
      Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
      
  • 그런 다음 다음 PowerShell 명령을 사용하여 OpenSSH 서비스를 구성하고 시작합니다.
      Start-Service sshd
Set-Service -Name sshd -StartupType ‘Automatic’
      
Image
  • 앞서 언급했듯이 방화벽에서 포트 22를 열어야 합니다. 다음 명령을 사용하면 OpenSSH에 대해 방화벽 규칙이 이미 구성되어 있는지 빠르게 확인할 수 있습니다:
      Get-NetFirewallRule -Name *ssh*
      

아래 출력 결과는 이미 규칙이 생성되어 있음을 보여줍니다.

Image

규칙이 없는 경우 다음 명령을 사용하여 SSH 포트를 엽니다:

      New-NetFirewallRule -Name sshd -DisplayName ‘OpenSSH Server (sshd)’ -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
      
  • 마지막으로 모든 것이 올바르게 설정되어 있고 OpenSSH 데몬이 들어오는 연결을 수신 대기하고 있는지 확인하세요. 연결을 테스트하려면 다른 서버 또는 데스크톱에서 다음 명령을 실행합니다:
      Test-NetConnection -ComputerName <computer name> -Port 22 -InformationLevel Detailed
      

테스트가 성공하면 다음과 비슷한 결과가 표시됩니다:

Image

실패했다면 네트워크 연결과 관련해 여러 가지를 의미할 수 있습니다. 예를 들어 원격 컴퓨터에서 방화벽 규칙이 생성되지 않았거나 활성화되어 있지 않은 경우 등이 있습니다.

SSH를 사용하여 파일을 이동하는 방법

SSH를 사용해 파일을 이동하는 것은 WinSCP와 같은 FTP 애플리케이션으로 이동하는 것과 거의 같습니다. 소스 머신에서 해당 파일을 읽을 수 있는 권한과 대상 디렉터리에 쓸 수 있는 권한이 있어야 한다는 점에 유의하세요.

WinSCP로 파일 이동하기

먼저 WinSCP 유틸리티를 사용해 새 SSH 서버를 테스트해 보겠습니다. (필요한 경우 WinSCP를 여기에서 다운로드할 수 있습니다.) WinSCP를 사용하면 OpenSSH 클라이언트를 활성화할 필요가 없습니다.

  1. WinSCP를 열고 서버에 대한 새 연결을 정의합니다. 다음에서 New Site, 파일 프로토콜이 SFTP로 설정되어 있고 포트가 22(기본값)로 설정되어 있는지 확인한 다음, 아래 예시와 같이 사용자 이름을 입력합니다.
Image
  • Login 버튼을 클릭하고 지정한 계정의 비밀번호를 입력합니다. 다음 대화 상자에는 아래 스크린샷과 같이 서버의 ECDSA 키 지문이 표시됩니다. 이 키는 주로 클라이언트가 올바른 서버와 통신하고 있는지 확인하기 위해 사용됩니다. 클라이언트가 서버에 처음 연결할 때, 공개 호스트 키가 클라이언트로 전달됩니다. 진행하려면 Yes 를 클릭하세요.
Image
  • 다음 창에서 왼쪽 창에는 소스(원본) 컴퓨터의 기본 폴더가 표시되고, 오른쪽 창에는 대상 서버에서 사용자의 기본 폴더가 표시됩니다. 원하는 폴더로 이동하세요. 아래 예시에서는 파일을 마우스 오른쪽 버튼으로 클릭해 클라이언트 장치로 다운로드했습니다. 또는 한쪽에서 다른 쪽으로 파일을 드래그할 수도 있습니다.
Image

OpenSSH를 사용하여 파일 또는 디렉터리 복사

Windows OpenSSH를 사용해 파일을 복사하려면 다음 PowerShell 명령을 사용할 수 있습니다. OpenSSH 서버와 클라이언트 모두 활성화되어 있어야 합니다.

      scp <filename>  <username>@<hostname>:<directory_path>
      

전체 디렉터리를 복사하려면 다음 명령을 사용합니다.

      scp -r <local_directory_path>  <username>@<hostname>:<remote_directory_path>
      

대상 서버에 해당 디렉터리가 없으면(권한이 있다고 가정할 때) 생성됩니다.

Linux 및 Unix 서버에서 Windows 서버와 데스크톱으로(또는 그 반대로) 파일을 주고받으며 복사할 수도 있습니다.

Netwrix가 도와드릴 수 있는 방법

데이터 파일을 이동하거나 복사하는 경우, 해당 데이터를 보호해야 할 가능성이 큽니다. 전송 작업 중에만이 아니라 데이터의 전체 수명 주기 전반에 걸쳐 보호해야 합니다. 데이터 액세스 거버넌스 Netwrix의 소프트웨어는 파일 활동 모니터링을 위한 효과적이고 확장 가능한 접근 방식을 제공합니다. 또한 누가 무엇에 접근할 수 있는지 파악하고 민감한 데이터에 대한 액세스를 엄격히 제한함으로써 사이버 보안 사고의 위험을 줄이는 데 도움이 됩니다. 다음을 수행할 수 있습니다:

  • IT 생태계 전반의 활동을 감사(audit)하세요.
  • 민감한 데이터에 대한 액세스를 필요한 최소 수준으로 줄여 insider threat 의 위험을 줄이고 랜섬웨어 및 기타 공격으로 인한 피해를 최소화하세요.
  • 데이터 소유자가 정기적인 권한 증명(privilege attestations)을 간소화할 수 있습니다.
  • 콘텐츠를 정확하고 일관되게 태깅하여 민감 데이터가 이동하는 어떤 상황에서도 보호하세요.

자주 묻는 질문

SSH를 사용해 파일을 이동하는 방법은 무엇인가요?

유닉스 계열 시스템을 사용할 때는 mv 명령을 사용해 SSH를 통해 원격 서버에서 파일을 한 위치에서 다른 위치로 이동할 수 있습니다.

Windows 컴퓨터에서는 타사 SSH 서버 및 클라이언트 애플리케이션을 설치하거나 OpenSSH 기능을 활성화할 수 있습니다(Windows Server 2019 또는 2022, 또는 Windows 10 또는 11 필요).

어느 경우든 연결하려면 로그인 자격 증명이 있어야 하며, 소스 머신에서 파일을 읽을 수 있는 데 필요한 권한과 대상 디렉터리에 대한 쓰기 권한도 있어야 합니다.

SSH는 파일 전송을 허용하나요?

네. SSH에는 Secure Copy 프로토콜(SCP)과 SSH File Transfer 프로토콜(SFTP)이 포함되어 있으며, 이를 통해 로컬 호스트와 원격 호스트 간에 파일을 안전하게 전송할 수 있습니다.

SSH 서버에서 로컬 머신으로 파일을 전송하려면 어떻게 해야 하나요?

OpenSSH 서버에서 지원되는 버전의 Windows 또는 Windows Server가 설치된 컴퓨터로 파일을 전송하는 한 가지 방법은 다음 PowerShell 명령을 사용하는 것입니다:

      scp C:\path\to\local\file username@remote-server:/path/to/remote/directory
      
  • 다음으로 바꾸세요: C:\path\to\local\file — 로컬 컴퓨터에서 복사하려는 파일의 경로로 지정하세요.
  • 다음으로 바꾸세요: username — 원격 서버의 사용자 이름으로 지정합니다. (비밀번호를 입력하라는 메시지가 표시됩니다.)
  • 다음으로 바꾸세요: remote-server — 원격 서버의 호스트 이름 또는 IP 주소로 지정합니다.
  • 다음으로 바꾸세요: path/to/remote/directory — 파일을 복사하려는 원격 서버의 디렉터리 경로로 지정합니다.

또는 사용하기 쉬운 메뉴를 제공하는 타사 SSH 유틸리티를 사용할 수도 있습니다.

공유하기

더 알아보기

저자 소개

Asset Not Found

Ethan Israel

Product Manager

Ethan은 Netwrix의 전(前) Product Manager입니다. 소프트웨어 업계에서 10년 이상의 경력을 바탕으로 Netwrix Enterprise Auditor 제품의 로드맵을 구축하고 제공하는 일을 담당했습니다.