다음을 통해 공유


Azure Arc 지원 서버에 대한 SSH 액세스

Arc 지원 서버용 SSH는 공용 IP 주소나 추가 열린 포트 없이도 Arc 지원 서버에 대한 SSH 기반 연결을 지원합니다. 이 기능은 대화형으로 사용하거나 자동화하거나 기존 SSH 기반 도구와 함께 사용할 수 있으므로 기존 관리 도구가 Azure Arc 지원 서버에 더 큰 영향을 미칠 수 있습니다.

주요 혜택

Arc 지원 서버에 대한 SSH 액세스는 다음과 같은 주요 이점을 제공합니다.

  • 공용 IP 주소 또는 개방형 SSH 포트가 필요하지 않음
  • Windows 및 Linux 컴퓨터에 액세스
  • 로컬 사용자 또는 Azure 사용자(Linux 전용)로 로그인하는 기능
  • 구성 파일을 지원하는 다른 OpenSSH 기반 도구 지원

필수 조건

이 기능을 사용하려면 다음을 수행해야 합니다.

  • Arc 지원 서버에 "1.31.xxxx" 이상의 하이브리드 에이전트 버전이 있는지 확인합니다. 실행: Arc 지원 서버에서 azcmagent show.
  • Arc 지원 서버에 "sshd" 서비스가 사용하도록 설정되어 있는지 확인합니다. Linux 컴퓨터의 경우 openssh-server를 패키지 관리자를 통해 설치할 수 있으며 사용하도록 설정해야 합니다. SSHD는 Windows에서 사용하도록 설정해야 합니다.
  • 소유자 또는 기여자 역할이 할당되어 있는지 확인합니다.

Microsoft Entra 자격 증명을 사용하여 인증하는 데는 추가 요구 사항이 있습니다.

  • aadsshloginaadsshlogin-selinux를 적절하게 Arc 지원 서버에 설치해야 합니다. 이러한 패키지는 Azure AD based SSH Login – Azure Arc VM 확장을 사용하여 설치됩니다.

  • VM에 대한 역할 할당을 구성합니다. VM 로그인 권한 부여에는 두 개의 Azure 역할이 사용됩니다.

    • 가상 머신 관리자 로그인: 이 역할이 할당된 사용자는 관리자 권한으로 Azure 가상 머신에 로그인할 수 있습니다.
    • 가상 머신 사용자 로그인: 이 역할이 할당된 사용자는 일반 사용자 권한으로 Azure 가상 머신에 로그인할 수 있습니다.

    VM에 대해 소유자 또는 기여자 역할이 할당된 Azure 사용자에게는 SSH를 통해 VM에 대한 Microsoft Entra 로그인 권한이 자동으로 부여되지 않습니다. 가상 머신을 제어하는 사용자와 가상 머신에 액세스하는 사용자 사이에 의도적인(그리고 감사된) 분리가 있습니다.

    참고 항목

    가상 머신 관리자 로그인 및 가상 머신 사용자 로그인 역할은 dataActions를 사용하며 관리 그룹, 구독, 리소스 그룹 또는 리소스 범위에서 할당할 수 있습니다. 개별 VM 수준이 아닌 관리 그룹, 구독 또는 리소스 수준에서 역할을 할당하는 것이 좋습니다. 이 방법은 구독당 Azure 역할 할당 제한에 도달할 위험을 방지합니다.

가용성

Arc 지원 서버에 대한 SSH 액세스는 현재 Arc 지원 서버가 지원하는 모든 지역에서 지원됩니다.

시작

HybridConnectivity 리소스 공급자 등록

참고 항목

이는 각 구독에서 수행해야 하는 일회용 작업입니다.

HybridConnectivity RP(리소스 공급자)가 등록되었는지 확인합니다.

az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState

RP가 등록되지 않은 경우 다음을 실행합니다.

az provider register -n Microsoft.HybridConnectivity

이 작업을 완료하는 데 2~5분이 소요될 수 있습니다. 계속 진행하기 전에 RP가 등록되었는지 확인합니다.

기본 연결 엔드포인트 만들기

참고 항목

첫 번째 연결에서 자동으로 완료되어야 하므로 대부분의 사용자에 대해 다음 단계를 실행할 필요가 없습니다. 각 Arc 지원 서버에 대해 이 단계를 완료해야 합니다.

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15 --body '{"properties": {"type": "default"}}'

참고 항목

PowerShell에서 Azure CLI를 사용하는 경우 다음을 사용해야 합니다.

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15 --body '{\"properties\":{\"type\":\"default\"}}'

엔드포인트 만들기의 유효성을 검사합니다.

az rest --method get --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15

로컬 명령줄 도구 설치

이 기능은 현재 Azure CLI 확장 및 Azure PowerShell 모듈에 패키지되어 있습니다.

az extension add --name ssh

참고 항목

Azure CLI 확장 버전은 2.0.0보다 커야 합니다.

Arc 지원 서버에서 기능 사용

SSH 연결 기능을 사용하려면 Arc 지원 서버의 연결 엔드포인트에서 서비스 구성을 업데이트하여 특정 포트에 대한 SSH 연결을 허용해야 합니다. 단일 포트에 대한 연결만 허용할 수 있습니다. CLI 도구는 런타임에 허용된 포트를 업데이트하려고 시도하지만 다음을 사용하여 포트를 수동으로 구성할 수 있습니다.

참고 항목

서비스 구성을 업데이트한 후 연결할 수 있을 때까지 지연이 있을 수 있습니다.

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default/serviceconfigurations/SSH?api-version=2023-03-15 --body "{\"properties\": {\"serviceName\": \"SSH\", \"port\": 22}}"

SSH 연결에 기본 포트가 아닌 포트를 사용하는 경우 이전 명령에서 포트 22를 원하는 포트로 바꿉니다.

선택 사항: Azure AD 로그인 확장 설치

Azure AD based SSH Login – Azure Arc VM 확장은 Arc 서버의 확장 메뉴에서 추가할 수 있습니다. Azure AD 로그인 확장은 apt-get install aadsshlogin 또는 다음 명령을 통해 패키지 관리자를 통해 로컬로 설치할 수도 있습니다.

az connectedmachine extension create --machine-name <arc enabled server name> --resource-group <resourcegroup> --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLogin --type AADSSHLoginForLinux --location <location>

예제

예를 보려면 az ssh에 대한 Az CLI 설명서 페이지 또는 Az.Ssh에 대한 Azure PowerShell 설명서 페이지를 확인합니다.

다음 단계