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
iaadsshlogin-selinux
(zgodnie z potrzebami) należy zainstalować na serwerze z obsługą usługi Arc. Te pakiety są instalowane z rozszerzeniem maszynyAzure 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 administratora 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 Logowania administratora maszyny wirtualnej i Logowania użytkownika maszyny wirtualnej są używane
dataActions
i mogą być przypisane do grupy zarządzania, subskrypcji, grupy zasobów lub zakresu 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 chmury publicznej obsługiwanych przez serwery z obsługą usługi Arc.
Uwaga
Obecnie nie ma obsługi chmur innych niż publiczne.
Wprowadzenie
Rejestrowanie dostawcy zasobów HybridConnectivity
Uwaga
Jest to jednorazowa operacja, która musi być wykonywana w każdej subskrypcji.
Sprawdź, czy dostawca zasobów HybridConnectivity (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.
- Utwórz domyślny punkt końcowy za pomocą interfejsu wiersza polecenia platformy Azure:
- Utwórz domyślny punkt końcowy za pomocą programu Azure PowerShell:
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.
- Instalowanie rozszerzenia interfejsu wiersza polecenia platformy Azure
- Instalowanie modułu 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 łączności na serwerze z obsługą usługi Arc, aby umożliwić 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
- Dowiedz się więcej na temat protokołu OpenSSH dla systemu Windows
- Dowiedz się więcej o rozwiązywaniu problemów z dostępem SSH do serwerów z obsługą usługi Azure Arc.
- Dowiedz się więcej o rozwiązywaniu problemów z połączeniem agenta.