Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak nakonfigurovat klíče SSH (Preview) v clusterech nebo fondech uzlů AKS během počátečního nasazení nebo později.
AKS podporuje následující možnosti konfigurace pro správu klíčů SSH na uzlech clusteru:
- Vytvoření clusteru s klíči SSH
- Aktualizace klíčů SSH v existujícím clusteru AKS
- Zakázání a povolení služby SSH
Důležité
Funkce AKS ve verzi Preview jsou k dispozici na samoobslužné bázi a vyžadují aktivní přihlášení. Verze Preview jsou poskytovány "tak, jak jsou" a "jak jsou dostupné," a jsou vyloučeny ze smluv o úrovni služeb a omezené záruky. Verze Preview AKS jsou částečně pokryty zákaznickou podporou na základě maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:
Důležité
Od 30. listopadu 2025 už AKS nebude podporovat ani poskytovat aktualizace zabezpečení pro Azure Linux 2.0. Od 31. března 2026 se image uzlů odeberou a nebudete moct škálovat fondy uzlů. Migrujte na podporovanou verzi Azure Linuxu buď aktualizací fondů uzlů na podporovanou verzi Kubernetes, nebo migrací na osSku AzureLinux3. Další informace najdete v tématu [Vyřazení z provozu] Uzel poolů Azure Linux 2.0 v AKS.
Než začnete
- K používání
aks-previewpotřebujete verzi 0.5.116 nebo novější. - K použití
aks-previewpotřebujete verzi 1.0.0b6 nebo novější. - Funkce Vytvoření a aktualizace SSH podporuje fondy uzlů Linuxu, Windows a Azure Linuxu v existujících clusterech.
aks-preview Instalace rozšíření Azure CLI
Nainstalujte rozšíření aks-preview pomocí
az extension addpříkazu.az extension add --name aks-previewPomocí příkazu aktualizujte na nejnovější verzi rozšíření
az extension update.az extension update --name aks-preview
Zaregistrujte příznak funkce DisableSSHPreview
Pokud chcete použít funkci Zakázat SSH, proveďte následující kroky a zaregistrujte ho ve svém předplatném.
Pomocí příkazu
DisableSSHPreviewzaregistrujte příznak funkceaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "DisableSSHPreview"Zobrazení stavu Zaregistrované trvá několik minut.
Pomocí příkazu ověřte stav
az feature showregistrace.az feature show --namespace "Microsoft.ContainerService" --name "DisableSSHPreview"Jakmile se stav projeví jako zaregistrovaný, aktualizujte registraci poskytovatele prostředků Microsoft.ContainerService pomocí
az provider registerpříkazu.az provider register --namespace Microsoft.ContainerService
Vytvoření clusteru AKS s klíči SSH
Pomocí příkazu az aks create nasaďte cluster AKS s veřejným klíčem SSH. Pomocí argumentu --ssh-key-value můžete zadat klíč nebo soubor klíče.
| Parametr SSH | Popis | Výchozí hodnota |
|---|---|---|
--generate-ssh-key |
Pokud nemáte vlastní klíče SSH, zadejte --generate-ssh-key. Azure CLI automaticky vygeneruje sadu klíčů SSH a uloží je do výchozího adresáře ~/.ssh/. |
|
| --ssh-key-value | Cesta k veřejnému klíči nebo obsah klíče, které se mají nainstalovat na virtuální počítače uzlů pro přístup přes SSH. Například ssh-rsa AAAAB...snip...UcyupgH azureuser@linuxvm. |
~/.ssh/id_rsa.pub |
--no-ssh-key |
Pokud nepotřebujete klíče SSH, zadejte tento argument. AKS ale automaticky vygeneruje sadu klíčů SSH, protože závislost prostředků virtuálního počítače Azure nepodporuje prázdný soubor klíčů SSH. V důsledku toho se klíče nevrátí a nejde je použít k připojení SSH k virtuálním počítačům uzlů. Privátní klíč je odstraněn a není uložen. |
Poznámka:
Pokud nejsou zadány žádné parametry, Azure CLI ve výchozím nastavení odkazuje na klíče SSH uložené v ~/.ssh/id_rsa.pub souboru. Pokud klíče nenajdete, příkaz vrátí zprávu An RSA key file or key value must be supplied to SSH Key Value.
Tady jsou příklady tohoto příkazu:
Vytvoření clusteru a použití výchozích vygenerovaných klíčů SSH:
az aks create --name myAKSCluster --resource-group MyResourceGroup --generate-ssh-keyPokud chcete zadat soubor veřejného klíče SSH, zahrňte
--ssh-key-valueargument:az aks create --name myAKSCluster --resource-group MyResourceGroup --ssh-key-value ~/.ssh/id_rsa.pub
Aktualizace veřejného klíče SSH v existujícím clusteru AKS
az aks update Pomocí příkazu aktualizujte veřejný klíč SSH (Preview) ve vašem clusteru. Tato operace aktualizuje klíč ve všech fondech uzlů. Pomocí argumentu --ssh-key-value můžete zadat klíč nebo soubor klíče.
Poznámka:
Aktualizace klíčů SSH se podporuje ve škálovacích sadách virtuálních počítačů Azure s clustery AKS.
Tady jsou příklady tohoto příkazu:
Pokud chcete zadat novou hodnotu veřejného klíče SSH, zahrňte argument
--ssh-key-value:az aks update --name myAKSCluster --resource-group MyResourceGroup --ssh-key-value 'ssh-rsa AAAAB3Nza-xxx'Pokud chcete zadat soubor veřejného klíče SSH, zadejte ho pomocí argumentu
--ssh-key-value:az aks update --name myAKSCluster --resource-group MyResourceGroup --ssh-key-value ~/.ssh/id_rsa.pub
Důležité
Po aktualizaci klíče SSH se AKS automaticky neaktualizuje fond uzlů. Kdykoli se můžete rozhodnout provést operaci aktualizace fondu uzlů. Operace aktualizace klíčů SSH se projeví po dokončení aktualizace image uzlu. U clusterů s povoleným automatickým zřizováním uzlů je možné aktualizaci image uzlu provést použitím nového popisku u vlastního prostředku Kubernetes NodePool.
Zakázání přehledu SSH
Pokud chcete zlepšit zabezpečení a podporovat požadavky nebo strategii podnikového zabezpečení, AKS podporuje zakázání SSH (Preview) v clusteru i na úrovni fondu uzlů. Zákaz SSH představuje zjednodušený přístup v porovnání s jediným podporovaným řešením, které vyžaduje konfiguraci pravidel skupin zabezpečení sítě na síťové kartě podsítě nebo uzlu AKS. Zakázání SSH podporuje pouze fondy uzlů škálovacích sad virtuálních počítačů.
Když při vytváření clusteru zakážete SSH, projeví se po vytvoření clusteru. Pokud ale zakážete SSH v existujícím clusteru nebo fondu uzlů, AKS automaticky nezakáže SSH. Kdykoli se můžete rozhodnout provést operaci upgradování poolu uzlů. Operace zakázání nebo povolení klíčů SSH se projeví po dokončení aktualizace image uzlu.
Poznámka:
Když na úrovni clusteru zakážete SSH, platí to pro všechny existující fondy uzlů. Všechny fondy uzlů vytvořené po této operaci budou mít ve výchozím nastavení povolený SSH a abyste je mohli zakázat, budete muset tyto příkazy spustit znovu.
| Parametr SSH | Popis |
|---|---|
disabled |
Služba SSH je zakázaná. |
localuser |
Služba SSH je povolená a uživatelé s klíči SSH mají zabezpečený přístup k uzlu. |
Poznámka:
Ladicí uzel kubectl bude fungovat i po zakázání protokolu SSH, protože nezávisí na službě SSH.
Zakázání SSH v novém nasazení clusteru
Ve výchozím nastavení je služba SSH na uzlech clusteru AKS otevřená všem uživatelům a podům spuštěným v clusteru. Pokud dojde k ohrožení kontejneru v podu, můžete zabránit přímému přístupu přes SSH z libovolné sítě k uzlům clusteru, abyste omezili vektor útoku.
az aks create Pomocí příkazu vytvořte nový cluster a zahrňte --ssh-access disabled argument, který zakáže SSH (Preview) ve všech fondech uzlů během vytváření clusteru.
Důležité
Po zakázání služby SSH se nemůžete připojit do clusteru pomocí SSH, abyste mohli provádět správu nebo řešit problémy.
Poznámka:
V nově vytvořeném clusteru zakázání SSH nakonfiguruje pouze první fond systémových uzlů. Všechny ostatní fondy uzlů je potřeba nakonfigurovat na úrovni fondu uzlů.
az aks create --resource-group myResourceGroup --name myManagedCluster --ssh-access disabled
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON. Následující příklad se podobá výstupu a výsledkům souvisejícím se zákazem SSH:
"securityProfile": {
"sshAccess": "Disabled"
},
Zakázání SSH pro nový fond uzlů
az aks nodepool add Pomocí příkazu přidejte fond uzlů a zahrňte --ssh-access disabled argument, který zakáže SSH během vytváření fondu uzlů.
az aks nodepool add --cluster-name myManagedCluster --name mynodepool --resource-group myResourceGroup --ssh-access disabled
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON, které ukazují, že mynodepool byl úspěšně vytvořen. Následující příklad se podobá výstupu a výsledkům souvisejícím se zákazem SSH:
"securityProfile": {
"sshAccess": "Disabled"
},
Zakázání SSH pro existující fond uzlů
Pomocí argumentu [`--ssh-access disabled`] zakažte SSH (preview) ve stávajícím fondu uzlů.
az aks nodepool update --cluster-name myManagedCluster --name mynodepool --resource-group myResourceGroup --ssh-access disabled
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON, které ukazují, že mynodepool byl úspěšně vytvořen. Následující příklad se podobá výstupu a výsledkům souvisejícím se zákazem SSH:
"securityProfile": {
"sshAccess": "Disabled"
},
Aby se změna projevila, musíte fond uzlů znovu vytvořit pomocí az aks nodepool upgrade příkazu.
az aks nodepool upgrade --cluster-name myManagedCluster --name mynodepool --resource-group myResourceGroup --node-image-only
Důležité
Pokud chcete zakázat SSH v existujícím clusteru, musíte zakázat SSH pro každý fond uzlů v tomto clusteru.
Opětovné povolení SSH pro konkrétní fond uzlů
az aks update Pomocí příkazu aktualizujte konkrétní fond uzlů a zahrňte --ssh-access localuser argument pro opětovné povolení SSH (Preview) ve fondu uzlů v clusteru. V následujícím příkladu je fond uzlů 1 cílovým fondem uzlů.
az aks nodepool update --cluster-name myManagedCluster --name nodepool1 --resource-group myResourceGroup --ssh-access localuser
Při provedení procesu se vrátí následující zpráva:
Only after all the nodes are reimaged, does the disable/enable SSH Access operation take effect.
Důležité
Během této operace se všechny instance Škálovací Sady Virtuálních Počítačů upgradují a znovu se zprovozní, aby používaly nový veřejný klíč SSH.
Stav služby SSH
Pomocí následujícího postupu použijte node-shell na jeden uzel a zkontrolujte stav služby SSH pomocí systemctlpříkazu .
Spuštěním příkazu
kubectl node-shell <node>získejte standardní prostředí Bash.kubectl node-shell aks-nodepool1-20785627-vmss000001Spuštěním
systemctlpříkazu zkontrolujte stav služby SSH.systemctl status ssh
Pokud je protokol SSH zakázaný, zobrazí se výsledky v následujícím ukázkovém výstupu:
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2024-01-03 15:36:57 UTC; 20min ago
Pokud je povolený SSH, zobrazí se výsledky v následujícím ukázkovém výstupu:
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-01-03 15:40:20 UTC; 19min ago
Další kroky
Pokud chcete pomoct s řešením potíží s připojením SSH k uzlům clusterů, můžete zobrazit protokoly kubeletu nebo zobrazit protokoly hlavního uzlu Kubernetes.
Azure Kubernetes Service