Udostępnij za pomocą


Zarządzanie protokołem SSH na potrzeby bezpiecznego dostępu do węzłów usługi Azure Kubernetes Service (AKS)

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

  • 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-preview wersja 9.0.0b1 lub nowsza.

    • Jeśli nie masz aks-preview jeszcze rozszerzenia, zainstaluj je przy użyciu az extension add polecenia :
      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 polecenia az extension update.
      az extension update --name aks-preview
      
  • Zarejestruj flagę funkcji DisableSSHPreview przy użyciu polecenia az 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 show polecenia .

    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
    
  • 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-preview wersji 19.0.0b7 lub nowszej, aby używać Entra ID SSH.

    • Jeśli nie masz aks-preview jeszcze rozszerzenia, zainstaluj je przy użyciu az extension add polecenia :
      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 polecenia az extension update.
      az extension update --name aks-preview
      
  • 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)
  • Zarejestruj flagę funkcji EntraIdSSHPreview przy użyciu polecenia az 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 show polecenia .

    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
    
  • 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-preview wersja 9.0.0b1 lub nowsza.
    • Jeśli nie masz aks-preview jeszcze rozszerzenia, zainstaluj je przy użyciu az extension add polecenia :
      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 polecenia az extension update.
      az extension update --name aks-preview
      

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-key
    
  • Aby określić plik klucza publicznego SSH:

    az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-key-value ~/.ssh/id_rsa.pub
    
  • Aby 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.