Dostęp SSH do serwerów z obsługą usługi Azure Arc

Protokół SSH dla serwerów z obsługą usługi Arc umożliwia nawiązywanie połączeń opartych na protokole SSH z serwerami z obsługą usługi Arc bez konieczności używania publicznego adresu IP lub dodatkowych otwartych portów. Ta funkcja może być używana interaktywnie, zautomatyzowana lub z istniejącymi narzędziami opartymi na protokole SSH, co pozwala istniejącym narzędziom do zarządzania mieć większy wpływ na serwery z obsługą usługi Azure Arc.

Główne korzyści

Dostęp SSH do serwerów z obsługą usługi Arc zapewnia następujące kluczowe korzyści:

  • Nie jest wymagany publiczny adres IP ani otwarte porty SSH
  • Dostęp do maszyn z systemami Windows i Linux
  • Możliwość logowania się jako użytkownik lokalny lub użytkownik platformy Azure (tylko system Linux)
  • Obsługa innych narzędzi opartych na protokole OpenSSH z obsługą plików konfiguracji

Wymagania wstępne

Aby włączyć tę funkcję, upewnij się, że:

  • Upewnij się, że serwer z obsługą usługi Arc ma agenta hybrydowego w wersji "1.31.xxxx" lub nowszej. Uruchom polecenie: azcmagent show na serwerze z obsługą usługi Arc.
  • Upewnij się, że serwer z obsługą usługi Arc ma włączoną usługę "sshd". W przypadku maszyn openssh-server z systemem Linux można zainstalować za pośrednictwem menedżera pakietów i należy je włączyć. Dysk SSHD musi być włączony w systemie Windows.
  • Upewnij się, że masz przypisaną rolę Właściciel lub Współtworzenie.

Uwierzytelnianie przy użyciu poświadczeń entra firmy Microsoft ma dodatkowe wymagania:

  • aadsshlogin i aadsshlogin-selinux (zgodnie z potrzebami) należy zainstalować na serwerze z obsługą usługi Arc. Te pakiety są instalowane z rozszerzeniem maszyny Azure AD based SSH Login – Azure Arc wirtualnej.

  • Konfigurowanie przypisań ról dla maszyny wirtualnej. Do autoryzowania logowania maszyny wirtualnej służą dwie role platformy Azure:

    • Logowanie Administracja istratora maszyny wirtualnej: użytkownicy, którzy mają przypisaną tę rolę, mogą logować się do maszyny wirtualnej platformy Azure z uprawnieniami administratora.
    • Logowanie użytkownika maszyny wirtualnej: użytkownicy, którzy mają przypisaną tę rolę, mogą logować się do maszyny wirtualnej platformy Azure przy użyciu zwykłych uprawnień użytkownika.

    Użytkownik platformy Azure, który ma przypisaną rolę Właściciel lub Współautor dla maszyny wirtualnej, nie ma automatycznie uprawnień do logowania microsoft Entra do maszyny wirtualnej za pośrednictwem protokołu SSH. Istnieje celowe (i poddawane inspekcji) rozdzielenie między zestawem osób kontrolujących maszyny wirtualne a zestawem osób, które mogą uzyskiwać do nich dostęp.

    Uwaga

    Role dataActions logowania użytkownika maszyny wirtualnej Administracja istratora i logowania użytkownika maszyny wirtualnej mogą być przypisane w grupie zarządzania, subskrypcji, grupie zasobów lub zakresie zasobów. Zalecamy przypisanie ról na poziomie grupy zarządzania, subskrypcji lub zasobu, a nie na poziomie poszczególnych maszyn wirtualnych. Ta praktyka pozwala uniknąć ryzyka osiągnięcia limitu przypisań ról platformy Azure na subskrypcję.

Dostępność

Dostęp SSH do serwerów z obsługą usługi Arc jest obecnie obsługiwany we wszystkich regionach obsługiwanych przez serwery z obsługą usługi Arc z następującymi wyjątkami:

  • Niemcy Środkowo-Zachodnie

Wprowadzenie

Rejestrowanie dostawcy zasobów hybrid Połączenie ivity

Uwaga

Jest to jednorazowa operacja, która musi być wykonywana w każdej subskrypcji.

Sprawdź, czy dostawca zasobów hybrydowej Połączenie ivity (RP) został zarejestrowany:

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

Jeśli dostawca usługi nie został zarejestrowany, uruchom następujące polecenie:

az provider register -n Microsoft.HybridConnectivity

Wykonanie tej operacji może potrwać od 2 do 5 minut. Przed przejściem sprawdź, czy dostawca usług został zarejestrowany.

Tworzenie domyślnego punktu końcowego łączności

Uwaga

W przypadku większości użytkowników nie trzeba uruchamiać poniższego kroku, ponieważ powinien on zostać ukończony automatycznie przy pierwszym połączeniu. Ten krok należy wykonać dla każdego serwera z obsługą usługi 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"}}'

Uwaga

W przypadku korzystania z interfejsu wiersza polecenia platformy Azure z poziomu programu PowerShell należy użyć następujących elementów.

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\"}}'

Weryfikowanie tworzenia punktu końcowego:

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

Instalowanie lokalnego narzędzia wiersza polecenia

Ta funkcja jest obecnie spakowana w rozszerzeniu interfejsu wiersza polecenia platformy Azure i module programu Azure PowerShell.

az extension add --name ssh

Uwaga

Wersja rozszerzenia interfejsu wiersza polecenia platformy Azure musi być większa niż 2.0.0.

Włączanie funkcji na serwerze z obsługą usługi Arc

Aby użyć funkcji połączenia SSH, należy zaktualizować konfigurację usługi w punkcie końcowym Połączenie ivity na serwerze z obsługą usługi Arc, aby zezwolić na połączenie SSH z określonym portem. Możesz zezwolić tylko na połączenie z jednym portem. Narzędzia interfejsu wiersza polecenia próbują zaktualizować dozwolony port w czasie wykonywania, ale port można skonfigurować ręcznie przy użyciu następujących elementów:

Uwaga

Po zaktualizowaniu konfiguracji usługi może wystąpić opóźnienie, dopóki nie będzie można nawiązać połączenia.

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}}"

Jeśli używasz portu innego niżdefault dla połączenia SSH, zastąp port 22 żądanym portem w poprzednim poleceniu.

Opcjonalnie: Instalowanie rozszerzenia logowania usługi Azure AD

Azure AD based SSH Login – Azure Arc Rozszerzenie maszyny wirtualnej można dodać z menu rozszerzeń serwera Arc. Rozszerzenie logowania usługi Azure AD można również zainstalować lokalnie za pośrednictwem menedżera pakietów za pośrednictwem polecenia : apt-get install aadsshlogin lub następującego polecenia.

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

Przykłady

Aby wyświetlić przykłady, wyświetl stronę dokumentacji interfejsu wiersza polecenia az dla polecenia az ssh lub stronę dokumentacji programu Azure PowerShell dla modułu Az.Ssh.

Następne kroki