Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Połączenia oparte na protokole SSH można włączyć 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, rozszerzając wpływ istniejących narzędzi do zarządzania na serwerach z obsługą usługi Azure Arc.
Korzyści
Dostęp SSH do serwerów z obsługą usługi Arc zapewnia następujące 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
- Uprawnienia użytkownika: rola właściciela lub współautora przypisana dla docelowego serwera z obsługą usługi Arc.
- Serwer z obsługą usługi Arc:
- Wersja agenta hybrydowego: 1.31.xxxx lub nowsza
- Należy włączyć usługę SSH ("sshd").
W przypadku systemu Linux zainstaluj openssh-server
za pośrednictwem menedżera pakietów. Możesz sprawdzić, czy plik sshd jest uruchomiony w systemie Linux, uruchamiając następujące polecenie:
ps -aux | grep sshd
W przypadku systemu Windows zobacz Włączanie protokołu OpenSSH. Możesz sprawdzić, czy protokół SSH jest zainstalowany i uruchomiony za pomocą następujących poleceń:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
# Check the sshd service is running
Get-Service sshd
Uwierzytelnianie usługi Microsoft Entra
Jeśli używasz usługi Microsoft Entra do uwierzytelniania, musisz zainstalować aadsshlogin
i aadsshlogin-selinux
(zgodnie z potrzebami) na serwerze z obsługą usługi Arc. Te pakiety są instalowane za pomocą rozszerzenia maszyny wirtualnej AADSSHLoginForLinux
.
Należy również skonfigurować przypisania 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 z 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 użytkownika maszyny wirtualnej używają 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 w platformie 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 obsługiwanych przez serwery z obsługą usługi Arc.
Włączanie dostępu SSH do serwerów z obsługą usługi Arc
Aby włączyć dostęp SSH do serwerów z obsługą usługi Arc, wykonaj kroki opisane w tej sekcji.
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 został zarejestrowany:
az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState
Jeśli dostawca zasobów nie został zarejestrowany, uruchom następujące polecenie, aby go zarejestrować:
az provider register -n Microsoft.HybridConnectivity
Wykonanie tej operacji może potrwać od 2 do 5 minut. Przed przejściem do następnego kroku upewnij się, że rejestracja została ukończona.
Tworzenie domyślnego punktu końcowego łączności
Ten krok należy wykonać dla każdego serwera z obsługą usługi Arc. Jednak może nie być konieczne uruchomienie tych poleceń, aby to zrobić, ponieważ powinno zakończyć się automatycznie przy pierwszym połączeniu.
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\"}}'
Zatwierdź tworzenie 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
Funkcje SSH są dostępne w rozszerzeniu interfejsu wiersza polecenia platformy Azure i w module programu Azure PowerShell. Zainstaluj odpowiednie narzędzie dla danego środowiska.
az extension add --name ssh
Włącz funkcjonalność na serwerze z obsługą Arc
Aby można było używać funkcji SSH Connect, należy zaktualizować konfigurację usługi w punkcie końcowym łączności 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 za pomocą następującego polecenia. Jeśli używasz portu innego niżdefault dla połączenia SSH, zastąp port 22 żądanym portem.
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}}"
Uwaga
Zanim będzie można nawiązać połączenie, może wystąpić opóźnienie po zaktualizowaniu konfiguracji usługi.
Opcjonalnie: Instalowanie rozszerzenia logowania firmy Microsoft Entra
Aby używać Microsoft Entra do uwierzytelniania na maszynach Linux, należy zainstalować aadsshlogin
i aadsshlogin-selinux
(jeśli jest to konieczne) na serwerze z włączoną obsługą Arc. Te pakiety są instalowane za pomocą rozszerzenia maszyny wirtualnej AADSSHLoginForLinux
.
Aby dodać to rozszerzenie w witrynie Azure Portal, przejdź do klastra, a następnie w menu usługi w obszarze Ustawienia wybierz pozycję Rozszerzenia. Wybierz pozycję Dodaj, a następnie wybierz pozycję Logowanie SSH oparte na usłudze Azure AD — Azure Arc i zakończ instalację. Rozszerzenie można również zainstalować lokalnie za pośrednictwem menedżera pakietów, uruchamiając apt-get install aadsshlogin
polecenie lub następujące polecenie:
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 i więcej szczegółów, przejrzyj stronę dokumentacji Az CLI dla polecenia az ssh lub stronę dokumentacji Azure PowerShell dla modułu Az.Ssh.
Wyłącz SSH na serwerach z obsługą Arc
Jeśli musisz usunąć dostęp SSH do serwerów z obsługą usługi Arc, wykonaj poniższe kroki.
Usuń port I funkcjonalność protokołu SSH z serwera z obsługą usługi Arc:
az rest --method delete --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\"}}'
Usuń domyślny punkt końcowy łączności:
az rest --method delete --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
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.