Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób konfigurowania dostępu SSH (wersja zapoznawcza) w klastrach lub pulach węzłów usługi AKS podczas początkowego wdrażania lub w późniejszym czasie.
Usługa AKS obsługuje następujące opcje konfiguracji do zarządzania dostępem SSH w węzłach klastra:
- Wyłączony protokół SSH: całkowite wyłączenie dostępu SSH do węzłów klastra w celu zapewnienia zwiększonych zabezpieczeń
-
Protokół SSH oparty na identyfikatorze Entra: użyj poświadczeń identyfikatora entra firmy Microsoft na potrzeby uwierzytelniania SSH. Zalety korzystania z protokołu SSH opartego na identyfikatorze Entra:
- Scentralizowane zarządzanie tożsamościami: Użyj istniejących tożsamości Entra ID do uzyskiwania dostępu do węzłów klastra
- Brak zarządzania kluczami SSH: eliminuje konieczność generowania, dystrybuowania i obracania kluczy SSH
- Zwiększone zabezpieczenia: korzystanie z funkcji zabezpieczeń identyfikatora entra, takich jak dostęp warunkowy i uwierzytelnianie wieloskładnikowe
- Inspekcja i zgodność: scentralizowane rejestrowanie zdarzeń dostępu za pośrednictwem dzienników identyfikatorów entra
- Dostęp just in time: łączenie z kontrolą dostępu opartą na rolach platformy Azure w celu uzyskania szczegółowej kontroli dostępu
- Protokół SSH użytkownika lokalnego: tradycyjne uwierzytelnianie oparte na kluczach SSH na potrzeby dostępu do węzła
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługowej z możliwością wyboru. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługowej z możliwością wyboru. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Wymagania wstępne
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie Azure CLI w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do Azure CLI za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane na Twoim terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby zaktualizować do najnowszej wersji, uruchom az upgrade.
Ten artykuł wymaga wersji 2.61.0 lub nowszej interfejsu wiersza polecenia platformy Azure. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już tam zainstalowana.
Potrzebna jest
aks-previewwersja 9.0.0b1 lub nowsza.- Jeśli nie masz
aks-previewjeszcze rozszerzenia, zainstaluj je przy użyciuaz extension addpolecenia :az extension add --name aks-preview - Jeśli masz już rozszerzenie
aks-preview, zaktualizuj je, aby upewnić się, że masz najnowszą wersję, używając poleceniaaz extension update.az extension update --name aks-preview
- Jeśli nie masz
Zarejestruj flagę funkcji
DisableSSHPreviewprzy użyciu poleceniaaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "DisableSSHPreview"Wyświetlenie stanu Zarejestrowane trwa kilka minut.
Sprawdź stan rejestracji przy użyciu
az feature showpolecenia .az feature show --namespace "Microsoft.ContainerService" --name "DisableSSHPreview"Kiedy status pokazuje Zarejestrowano, odśwież rejestrację dostawcy zasobów Microsoft.ContainerService, używając polecenia
az provider register.az provider register --namespace Microsoft.ContainerService
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie Azure CLI w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do Azure CLI za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane na Twoim terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby zaktualizować do najnowszej wersji, uruchom az upgrade.
Ten artykuł wymaga wersji 2.73.0 lub nowszej interfejsu wiersza polecenia platformy Azure. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już tam zainstalowana.
Potrzebujesz
aks-previewwersji 19.0.0b7 lub nowszej, aby używać Entra ID SSH.- Jeśli nie masz
aks-previewjeszcze rozszerzenia, zainstaluj je przy użyciuaz extension addpolecenia :az extension add --name aks-preview - Jeśli masz już rozszerzenie
aks-preview, zaktualizuj je, aby upewnić się, że masz najnowszą wersję, używając poleceniaaz extension update.az extension update --name aks-preview
- Jeśli nie masz
Odpowiednie uprawnienia RBAC platformy Azure do uzyskiwania dostępu do węzłów:
-
Wymagana akcja:
Microsoft.Compute/virtualMachineScaleSets/*/read— aby odczytać informacje o zestawach skalowania maszyn wirtualnych-
Wymagana akcja danych:
-
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/login/action— do uwierzytelniania i logowania się do maszyn wirtualnych jako zwykły użytkownik. -
Microsoft.Compute/virtualMachines/loginAsAdmin/action— aby zalogować się przy użyciu uprawnień użytkownika głównego.
-
- Wbudowana rola: Logowanie administratora maszyny wirtualnej lub logowanie użytkownika maszyny wirtualnej (w przypadku dostępu innego niż administrator)
-
Wymagana akcja danych:
-
Wymagana akcja:
Zarejestruj flagę funkcji
EntraIdSSHPreviewprzy użyciu poleceniaaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "EntraIdSSHPreview"Wyświetlenie stanu Zarejestrowane trwa kilka minut.
Sprawdź stan rejestracji przy użyciu
az feature showpolecenia .az feature show --namespace "Microsoft.ContainerService" --name "EntraIdSSHPreview"Kiedy status pokazuje Zarejestrowano, odśwież rejestrację dostawcy zasobów Microsoft.ContainerService, używając polecenia
az provider register.az provider register --namespace Microsoft.ContainerService
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie Azure CLI w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do Azure CLI za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane na Twoim terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby zaktualizować do najnowszej wersji, uruchom az upgrade.
- Ten artykuł wymaga wersji 2.61.0 lub nowszej interfejsu wiersza polecenia platformy Azure. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już tam zainstalowana.
- Aby zaktualizować metodę dostępu SSH w pulach węzłów, potrzebna jest
aks-previewwersja 9.0.0b1 lub nowsza.- Jeśli nie masz
aks-previewjeszcze rozszerzenia, zainstaluj je przy użyciuaz extension addpolecenia :az extension add --name aks-preview - Jeśli masz już rozszerzenie
aks-preview, zaktualizuj je, aby upewnić się, że masz najnowszą wersję, używając poleceniaaz extension update.az extension update --name aks-preview
- Jeśli nie masz
Ustawianie zmiennych środowiskowych
Ustaw następujące zmienne środowiskowe dla grupy zasobów, nazwy klastra i lokalizacji:
export RESOURCE_GROUP="<your-resource-group-name>"
export CLUSTER_NAME="<your-cluster-name>"
export LOCATION="<your-azure-region>"
Ograniczenia
- Entra ID SSH do węzłów nie jest jeszcze dostępny dla puli węzłów systemu Windows.
- Funkcja Entra ID SSH do węzłów nie jest obsługiwana dla automatycznego AKS z powodu blokady grupy zasobów węzła, która uniemożliwia przypisania ról.
Konfigurowanie dostępu SSH
Aby zwiększyć bezpieczeństwo i obsługiwać wymagania lub strategię zabezpieczeń firmy, usługa AKS obsługuje wyłączanie protokołu SSH zarówno w klastrze, jak i na poziomie puli węzłów. Wyłączenie SSH wprowadza uproszczone podejście w porównaniu do konfigurowania reguł sieciowej grupy zabezpieczeń na interfejsie sieciowym (NIC) podsieci lub węzła AKS. Funkcja wyłączania SSH obsługuje tylko pule węzłów w zestawach skalowania maszyn wirtualnych.
Po wyłączeniu protokołu SSH podczas tworzenia klastra, zmianę tę można zaobserwować po jego utworzeniu. Jednak po wyłączeniu protokołu SSH w istniejącej puli klastrów lub węzłów usługa AKS nie wyłącza automatycznie protokołu SSH. W dowolnym momencie możesz wykonać operację uaktualniania puli węzłów. Operacja wyłączania/włączania protokołu SSH ma zastosowanie po zakończeniu aktualizacji obrazu węzła.
Uwaga
Po wyłączeniu protokołu SSH na poziomie klastra, zmiana ta obowiązuje dla wszystkich istniejących pul węzłów obliczeniowych. Wszystkie pule węzłów utworzone po tej operacji będą domyślnie włączone za pomocą protokołu SSH i należy ponownie uruchomić te polecenia, aby je wyłączyć.
Uwaga
kubectl debug node nadal działa po wyłączeniu SSH, ponieważ nie zależy od usługi SSH.
Tworzenie grupy zasobów
Utwórz grupę zasobów przy użyciu polecenia az group create.
az group create --name $RESOURCE_GROUP --location $LOCATION
Wyłączanie protokołu SSH w nowym wdrożeniu klastra
Domyślnie usługa SSH w węzłach klastra usługi AKS jest otwarta dla wszystkich użytkowników i zasobników uruchomionych w klastrze. Możesz zapobiec bezpośredniemu dostępowi SSH z dowolnej sieci do węzłów klastra, aby ograniczyć wektor ataku, jeśli zabezpieczenia kontenera w zasobniku staną się zagrożone.
Użyj polecenia az aks create do utworzenia nowego klastra i dołącz argument --ssh-access disabled, aby wyłączyć SSH (wersja zapoznawcza) we wszystkich pulach węzłów podczas tworzenia klastra.
Ważne
Po wyłączeniu usługi SSH nie można połączyć się z klastrem za pomocą protokołu SSH w celu wykonywania zadań administracyjnych lub rozwiązywania problemów.
Uwaga
W nowo utworzonym klastrze wyłącz protokół SSH skonfiguruje tylko pierwszą pulę węzłów systemowych. Wszystkie inne pule węzłów należy skonfigurować na poziomie puli węzłów.
az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --ssh-access disabled
Po kilku minutach polecenie zostanie wykonane i zwróci informacje o klastrze w formacie JSON. Poniższy przykład przypomina dane wyjściowe i wyniki związane z wyłączaniem protokołu SSH:
"securityProfile": {
"sshAccess": "Disabled"
},
Wyłączanie protokołu SSH dla nowej puli węzłów
Użyj polecenia az aks nodepool add aby dodać pulę węzłów oraz użyj argumentu --ssh-access disabled, aby wyłączyć protokół SSH podczas tworzenia puli węzłów.
az aks nodepool add \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--ssh-access disabled
Po kilku minutach polecenie zostanie zakończone i zwróci informacje w formacie JSON dotyczące klastra, wskazując że mynodepool została pomyślnie utworzona. Poniższy przykład przypomina dane wyjściowe i wyniki związane z wyłączaniem protokołu SSH:
"securityProfile": {
"sshAccess": "Disabled"
},
Wyłączanie protokołu SSH dla istniejącej puli węzłów
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługowej z możliwością wyboru. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Użyj polecenia az aks nodepool update z argumentem --ssh-access disabled, aby wyłączyć wersję zapoznawczą protokołu SSH w istniejącej puli węzłów.
az aks nodepool update \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--ssh-access disabled
Po kilku minutach polecenie zostanie zakończone i zwróci informacje w formacie JSON dotyczące klastra, który wskazuje, że mynodepool został pomyślnie zaktualizowany. Poniższy przykład przypomina dane wyjściowe i wyniki związane z wyłączaniem protokołu SSH:
"securityProfile": {
"sshAccess": "Disabled"
},
Aby zmiana weszła w życie, należy odtworzyć pulę węzłów przy użyciu polecenia az aks nodepool upgrade.
az aks nodepool upgrade \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--node-image-only
Ważne
Aby wyłączyć protokół SSH w istniejącym klastrze, należy wyłączyć protokół SSH dla każdej puli węzłów w tym klastrze.
Ponowne włączanie dostępu SSH
Aby ponownie włączyć dostęp SSH w puli węzłów, zaktualizuj pulę węzłów za pomocą metody --ssh-access localuser (w przypadku tradycyjnego dostępu opartego na kluczach SSH) lub --ssh-access entraid (w przypadku dostępu opartego na identyfikatorze Entra). Szczegółowe instrukcje można znaleźć w odpowiednich sekcjach.
Klaster usługi AKS można skonfigurować tak, aby korzystał z identyfikatora Microsoft Entra ID (dawniej Azure AD) na potrzeby uwierzytelniania SSH w węzłach klastra. Eliminuje to konieczność zarządzania kluczami SSH i umożliwia bezpieczne uzyskiwanie dostępu do węzłów przy użyciu poświadczeń identyfikatora Entra.
Tworzenie grupy zasobów
Utwórz grupę zasobów przy użyciu polecenia az group create.
az group create --name $RESOURCE_GROUP --location $LOCATION
Włączanie protokołu SSH opartego na identyfikatorze Entra w nowym klastrze
az aks create Użyj polecenia z argumentem --ssh-access entraid , aby włączyć uwierzytelnianie SSH oparte na identyfikatorze Entra podczas tworzenia klastra.
az aks create \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--ssh-access entraid
Po kilku minutach polecenie zostanie wykonane i zwróci informacje o klastrze w formacie JSON. Poniższy przykład przypomina dane wyjściowe:
"securityProfile": {
"sshAccess": "EntraID"
},
Włączanie protokołu SSH opartego na identyfikatorze Entra dla nowej puli węzłów
Użyj polecenia az aks nodepool add z argumentem --ssh-access entraid, aby włączyć SSH z wykorzystaniem identyfikatora Entra podczas tworzenia puli węzłów.
az aks nodepool add \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--ssh-access entraid
Po kilku minutach polecenie zostanie zakończone i zwróci informacje w formacie JSON wskazujące, że pula mynodepool została pomyślnie utworzona przy użyciu protokołu SSH opartego na identyfikatorze Entra. Poniższy przykład przypomina dane wyjściowe:
"securityProfile": {
"sshAccess": "EntraID"
},
Włączanie protokołu SSH opartego na identyfikatorze Entra dla istniejącej puli węzłów
Użyj polecenia az aks nodepool update z argumentem --ssh-access entraid, aby włączyć SSH oparte na Entra ID w istniejącej puli węzłów.
az aks nodepool update \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--ssh-access entraid
Po kilku minutach polecenie zostanie zakończone i zwróci informacje w formacie JSON wskazujące, że mynodepool została pomyślnie zaktualizowana przy użyciu Entra ID based SSH. Poniższy przykład przypomina dane wyjściowe:
"securityProfile": {
"sshAccess": "EntraID"
},
Aby zmiana weszła w życie, należy odtworzyć pulę węzłów przy użyciu polecenia az aks nodepool upgrade.
az aks nodepool upgrade \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--node-image-only
Ważne
Aby włączyć protokół SSH oparty na identyfikatorze Entra w istniejącym klastrze, należy włączyć go osobno dla każdej puli węzłów.
Dostęp SSH użytkownika lokalnego używa tradycyjnego uwierzytelniania opartego na kluczach SSH. Jest to domyślna metoda dostępu SSH dla klastrów usługi AKS.
Tworzenie grupy zasobów
Utwórz grupę zasobów przy użyciu polecenia az group create.
az group create --name $RESOURCE_GROUP --location $LOCATION
Tworzenie klastra usługi AKS przy użyciu kluczy SSH
Użyj polecenia az aks create, aby wdrożyć klaster usługi AKS przy użyciu klucza publicznego SSH. Możesz określić klucz lub plik klucza przy użyciu argumentu --ssh-key-value lub użyć --ssh-access localuser go do jawnego ustawienia dostępu SSH użytkownika lokalnego.
| Parametr SSH | opis | Domyślna wartość |
|---|---|---|
--generate-ssh-key |
Jeśli nie masz własnych kluczy SSH, określ wartość --generate-ssh-key. Interfejs wiersza polecenia platformy Azure automatycznie generuje zestaw kluczy SSH i zapisuje je w katalogu ~/.ssh/domyślnym . |
|
--ssh-key-value |
Ścieżka klucza publicznego lub zawartość klucza do zainstalowania na maszynach wirtualnych węzła na potrzeby dostępu za pomocą protokołu SSH. Na przykład ssh-rsa AAAAB...snip...UcyupgH azureuser@linuxvm. |
~/.ssh/id_rsa.pub |
--ssh-access localuser |
Jawnie włącz dostęp SSH użytkownika lokalnego przy użyciu uwierzytelniania opartego na kluczach. | |
--no-ssh-key |
Jeśli nie potrzebujesz kluczy SSH, określ ten argument. Jednak usługa AKS automatycznie generuje zestaw kluczy SSH, ponieważ zależność zasobu maszyny wirtualnej platformy Azure nie obsługuje pustego pliku kluczy SSH. W związku z tym klucze nie są zwracane i nie można ich używać do SSH na maszynach wirtualnych węzłów. Klucz prywatny jest odrzucany i nie jest zapisywany. |
Uwaga
Jeśli nie określono żadnych parametrów, interfejs wiersza polecenia platformy Azure domyślnie odwołuje się do kluczy SSH przechowywanych w ~/.ssh/id_rsa.pub pliku. Jeśli klucze nie zostały znalezione, polecenie zwróci komunikat An RSA key file or key value must be supplied to SSH Key Value.
Przykłady:
Aby utworzyć klaster i użyć domyślnych wygenerowanych kluczy SSH:
az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --generate-ssh-keyAby określić plik klucza publicznego SSH:
az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-key-value ~/.ssh/id_rsa.pubAby jawnie włączyć dostęp SSH użytkownika lokalnego:
az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-access localuser --generate-ssh-key
Włączanie protokołu SSH użytkownika lokalnego dla nowej puli węzłów
Użyj polecenia az aks nodepool add z argumentem --ssh-access localuser, aby włączyć SSH lokalnego użytkownika podczas tworzenia puli węzłów.
az aks nodepool add \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--ssh-access localuser
Włączanie protokołu SSH użytkownika lokalnego dla istniejącej puli węzłów
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługowej z możliwością wyboru. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Użyj polecenia az aks nodepool update z argumentem --ssh-access localuser, aby włączyć lokalny dostęp SSH użytkownika na istniejącej puli węzłów.
az aks nodepool update \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--ssh-access localuser
Ważne
Aby zmiana weszła w życie, należy odtworzyć pulę węzłów przy użyciu polecenia az aks nodepool upgrade.
az aks nodepool upgrade \
--cluster-name $CLUSTER_NAME \
--name mynodepool \
--resource-group $RESOURCE_GROUP \
--node-image-only
Aktualizuj klucz publiczny SSH w istniejącym klastrze AKS
az aks update Użyj polecenia , aby zaktualizować klucz publiczny SSH (wersja zapoznawcza) w klastrze. Ta operacja aktualizuje klucz we wszystkich pulach węzłów. Klucz lub plik klucza można określić przy użyciu argumentu --ssh-key-value .
Uwaga
Aktualizowanie kluczy SSH jest obsługiwane w zestawach skalowania maszyn wirtualnych na platformie Azure oraz w klastrach usługi AKS.
Przykłady:
Aby określić nową wartość klucza publicznego SSH:
az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-key-value 'ssh-rsa AAAAB3Nza-xxx'Aby określić plik klucza publicznego SSH:
az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-key-value ~/.ssh/id_rsa.pub
Ważne
Po zaktualizowaniu klucza SSH usługa AKS nie aktualizuje automatycznie puli węzłów. W dowolnym momencie możesz wykonać operację aktualizacji puli węzłów. Operacja aktualizacji kluczy SSH ma zastosowanie po zakończeniu aktualizacji obrazu węzła. W przypadku klastrów z włączonym automatycznym aprowizowaniem węzła, można przeprowadzić aktualizację obrazu węzła, nadając nową etykietę niestandardowemu zasobowi Kubernetes NodePool.
Weryfikowanie stanu usługi SSH
Po wyłączeniu protokołu SSH możesz sprawdzić, czy usługa SSH jest nieaktywna w węzłach klastra.
Użyj polecenia skalowania maszyn wirtualnych az vmss run-command invoke, aby sprawdzić stan usługi SSH.
az vmss run-command invoke --resource-group <node-resource-group> --name <vmss-name> --command-id RunShellScript --instance-id 0 --scripts "systemctl status ssh"
Następujące przykładowe dane wyjściowe pokazują oczekiwany wynik, gdy protokół SSH jest wyłączony:
{
"value": [
{
"code": "ProvisioningState/succeeded",
"displayStatus": "Provisioning succeeded",
"level": "Info",
"message": "Enable succeeded: \n[stdout]\n○ ssh.service - OpenBSD Secure Shell server\n Loaded: loaded (/lib/systemd/system/ssh.service; disabled; vendor preset: enabled)\n Active: inactive (dead) since Wed 2024-01-03 15:36:53 UTC; 25min ago\n..."
}
]
}
Wyszukaj wyraz Aktywny i sprawdź, czy jego wartość to Active: inactive (dead), co potwierdza wyłączenie protokołu SSH w węźle.
Po włączeniu protokołu SSH opartego na identyfikatorze Entra można sprawdzić, czy usługa SSH jest aktywna i skonfigurowana na potrzeby uwierzytelniania identyfikatora Entra w węzłach klastra.
Użyj polecenia Virtual Machine Scale Set az vmss run-command invoke do sprawdzenia stanu usługi SSH.
az vmss run-command invoke --resource-group <node-resource-group> --name <vmss-name> --command-id RunShellScript --instance-id 0 --scripts "systemctl status ssh"
Następujące przykładowe dane wyjściowe pokazują oczekiwany wynik po włączeniu protokołu SSH:
{
"value": [
{
"code": "ProvisioningState/succeeded",
"displayStatus": "Provisioning succeeded",
"level": "Info",
"message": "Enable succeeded: \n[stdout]\n● ssh.service - OpenBSD Secure Shell server\n Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)\n Active: active (running) since Wed 2024-01-03 15:40:20 UTC; 19min ago\n..."
}
]
}
Wyszukaj wyraz Aktywny i sprawdź, czy jego wartość to Active: active (running), co potwierdza włączenie protokołu SSH w węźle.
Po skonfigurowaniu protokołu SSH użytkownika lokalnego możesz sprawdzić, czy usługa SSH jest aktywna w węzłach klastra.
Użyj polecenia Zestaw az vmss run-command invoke skalowania maszyn wirtualnych, aby sprawdzić stan usługi SSH.
az vmss run-command invoke --resource-group <node-resource-group> --name <vmss-name> --command-id RunShellScript --instance-id 0 --scripts "systemctl status ssh"
Następujące przykładowe dane wyjściowe pokazują oczekiwany wynik po włączeniu protokołu SSH:
{
"value": [
{
"code": "ProvisioningState/succeeded",
"displayStatus": "Provisioning succeeded",
"level": "Info",
"message": "Enable succeeded: \n[stdout]\n● ssh.service - OpenBSD Secure Shell server\n Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)\n Active: active (running) since Wed 2024-01-03 15:40:20 UTC; 19min ago\n..."
}
]
}
Wyszukaj wyraz Aktywny i sprawdź, czy jego wartość to Active: active (running), co potwierdza włączenie protokołu SSH w węźle.
Następne kroki
Aby ułatwić rozwiązywanie wszelkich problemów z łącznością SSH z węzłami klastrów, możesz wyświetlić dzienniki kubelet lub wyświetlić dzienniki węzłów głównych platformy Kubernetes.
Azure Kubernetes Service