Share via


SSH(Secure Shell)를 사용하여 Windows를 실행하는 Azure 가상 머신에 연결하고 로그온하는 방법

적용 대상: ✔️ Windows VM ✔️ 유연한 확장 집합

Win32 OpenSSH 프로젝트는 Windows에서 기본 지원을 제공하여 Secure Shell 유비쿼터스를 통해 원격 연결을 만듭니다. 이 기능은 Windows Server 버전 2019 이상에서 제공되며, VM(가상 머신) 확장을 사용하여 이전 버전의 Windows에 추가할 수 있습니다.

아래 예제에서는 변수를 사용합니다. 다음과 같이 환경에서 변수를 설정할 수 있습니다.

예시
Bash/ZSH myResourceGroup='resGroup10'
PowerShell $myResourceGroup='resGroup10'

SSH 사용

먼저 Windows 컴퓨터에서 SSH를 사용하도록 설정해야 합니다.

Windows용 SSH 확장을 배포합니다. 이 확장은 최신 버전의 Windows에서 기능을 사용하도록 설정하는 것과 비슷하게 Win32 OpenSSH 솔루션의 자동화된 설치를 제공합니다. 다음 예제를 사용하여 확장을 배포합니다.

az vm extension set --resource-group $myResourceGroup --vm-name $myVM --name WindowsOpenSSH --publisher Microsoft.Azure.OpenSSH --version 3.0

TCP 포트 열기

VM에 연결할 수 있도록 적절한 포트(기본적으로 22 TCP)가 열려 있는지 확인합니다.

az network nsg rule create -g $myResourceGroup --nsg-name $myNSG -n allow-SSH --priority 1000 --source-address-prefixes 208.130.28.4/32 --destination-port-ranges 22 --protocol TCP
  • VM에는 공용 IP 주소가 있어야 합니다. VM에 공용 IP 주소가 있는지 확인하려면 왼쪽 메뉴에서 개요를 선택하고, 네트워킹 섹션을 확인합니다. 공용 IP 주소 옆에 IP 주소가 표시되면 VM에 공용 IP가 있는 것입니다. 기존 VM에 공용 IP 주소를 추가하는 방법에 대한 자세한 내용은 공용 IP 주소를 가상 머신에 연결을 참조하세요.

  • VM이 실행 중인지 확인합니다. 개요 탭의 필수 섹션에서 VM의 상태가 실행 중인지 확인합니다. VM을 시작하려면 페이지 위쪽에서 시작을 선택합니다.

인증

사용자 이름과 암호 또는 SSH 키를 사용하여 Windows 컴퓨터에 인증할 수 있습니다. Azure는 Windows 컴퓨터에 대한 공개 키 자동 프로비전을 지원하지 않지만 RunCommand 확장을 사용하여 키를 복사할 수 있습니다.

SSH 및 키에 대한 개요

SSH는 안전하지 않은 연결을 통해 보안 로그인을 제공하는 암호화된 연결 프로토콜입니다. SSH는 암호화된 연결을 제공하지만 SSH 연결에 암호를 사용하면 VM이 여전히 무차별 암호 대입 공격(brute force attack)에 취약해집니다. ‘SSH 키’라고도 하는 퍼블릭-프라이빗 키 쌍을 사용하여 SSH를 통해 VM에 연결하는 것이 좋습니다.

  • 공개 키는 VM에 배치됩니다.

  • 프라이빗 키는 로컬 시스템에 남아 있습니다. 이 프라이빗 키는 보호해야 하는 한편, 공유하면 안됩니다.

SSH 클라이언트를 사용하여 공개 키가 있는 VM에 연결하는 경우 원격 VM에서 클라이언트에 올바른 프라이빗 키가 있는지 테스트합니다. 클라이언트에 프라이빗 키가 있으면 VM에 액세스할 수 있습니다.

조직의 보안 정책에 따라 여러 Azure VM 및 서비스에 액세스하는 단일 퍼블릭-프라이빗 키 쌍을 다시 사용할 수 있습니다. 각 VM 또는 서비스에 액세스하기 위해 별도의 키 쌍이 반드시 필요한 것은 아닙니다.

공개 키는 모두와 공유할 수 있지만, 사용자(또는 로컬 보안 인프라)만 프라이빗 키에 액세스할 수 있어야 합니다.

지원되는 SSH 키 형식

Azure에서는 현재 최소 2048비트 길이의 SSH 프로토콜 2(SSH-2) RSA퍼블릭-프라이빗 키 쌍을 지원합니다. ED25519 및 ECDSA와 같은 다른 키 형식은 지원되지 않습니다.

RunCommand 확장을 사용하여 공개 키를 복사합니다.

RunCommand 확장은 공개 키를 Windows 컴퓨터에 복사하고 파일에 올바른 권한이 있는지 확인하는 간편한 솔루션을 제공합니다.

az vm run-command invoke -g $myResourceGroup -n $myVM --command-id RunPowerShellScript --scripts "MYPUBLICKEY | Add-Content 'C:\ProgramData\ssh\administrators_authorized_keys' -Encoding UTF8;icacls.exe 'C:\ProgramData\ssh\administrators_authorized_keys' /inheritance:r /grant 'Administrators:F' /grant 'SYSTEM:F'"

Az CLI를 사용하여 연결

Az SSH 명령을 사용하여 Windows 컴퓨터에 연결합니다.

az ssh vm  -g $myResourceGroup -n $myVM --local-user $myUsername

또한 SSH 연결을 통해 특정 TCP 포트에 대한 네트워크 터널을 만들 수 있습니다. 이에 적합한 사용 사례는 기본적으로 3389 포트로 설정되는 원격 데스크톱입니다.

az ssh vm  -g $myResourceGroup -n $myVM --local-user $myUsername -- -L 3389:localhost:3389

Azure Portal에서 연결

  1. Azure Portal로 이동하여 VM에 연결합니다. 가상 머신을 검색하여 선택합니다.
  2. 목록에서 가상 머신을 선택합니다.
  3. 왼쪽 메뉴에서 연결을 선택합니다.
  4. 원하는 연결 방법에 맞는 옵션을 선택합니다. 포털은 연결을 위한 필수 구성 요소를 진행하는 데 도움이 됩니다.

다음 단계

파일을 기존 VM으로 전송하는 방법에 대해 알아보려면 SCP를 사용하여 VM 간에 파일 이동을 참조하세요.