Jak používat klíče SSH s Windows v Azure

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s ✔️ Linuxem

Tento článek je určený uživatelům Windows, kteří chtějí vytvářet a používat klíče SSH (Secure Shell ) pro připojení k virtuálním počítačům s Linuxem v Azure. Klíče SSH můžete také generovat a ukládat v Azure Portal, které se mají použít při vytváření virtuálních počítačů na portálu.

Pokud chcete použít klíče SSH z klienta s Linuxem nebo macOS, projděte si rychlé kroky. Podrobnější přehled SSH najdete v tématu Věnovaném podrobným krokům: Vytvoření a správa klíčů SSH pro ověřování k virtuálnímu počítači s Linuxem v Azure.

Přehled SSH a klíčů

SSH je šifrovaný protokol připojení, který umožňuje zabezpečená přihlášení k nezabezpečeným připojením. SSH je výchozí protokol připojení pro virtuální počítače s Linuxem hostované v Azure. I když samotný SSH poskytuje šifrované připojení, používání hesel s protokolem SSH stále nechává virtuální počítač zranitelný vůči útokům hrubou silou. Doporučujeme připojit se k virtuálnímu počítači přes SSH pomocí páru veřejného a privátního klíče, který se označuje také jako klíče SSH.

Pár veřejného a soukromého klíče je jako zámek na vašich předních dveřích. Zámek je vystaven veřejnosti, každý, kdo má správný klíč, může otevřít dveře. Klíč je soukromý a dává se pouze lidem, kterým důvěřujete, protože ho můžete použít k odemknutí dveří.

  • Veřejný klíč se umístí na virtuální počítač s Linuxem při vytváření virtuálního počítače.

  • Privátní klíč zůstane v místním systému. Chraňte tento privátní klíč. Nesdílejte ho.

Když se připojíte k virtuálnímu počítači s Linuxem, virtuální počítač otestuje klienta SSH, aby se ujistil, že má správný privátní klíč. Pokud má klient privátní klíč, udělí se mu přístup k virtuálnímu počítači.

V závislosti na zásadách zabezpečení vaší organizace můžete opakovaně použít jeden pár klíčů pro přístup k několika virtuálním počítačům a službám Azure. Pro každý virtuální počítač nepotřebujete samostatný pár klíčů.

Veřejný klíč můžete sdílet s kýmkoli, ale přístup k privátnímu klíči byste měli mít jenom vy (nebo vaše místní infrastruktura zabezpečení).

Podporované formáty klíčů SSH

Azure v současné době podporuje páry veřejného a privátního klíče RSA protokolu SSH 2 (SSH-2) s minimální délkou 2048 bitů. Jiné formáty klíčů, jako jsou ED25519 a ECDSA, se nepodporují.

Klienti SSH

Nedávné verze Windows 10 zahrnují příkazy klienta OpenSSH pro vytváření a používání klíčů SSH a vytváření připojení SSH z PowerShellu nebo příkazového řádku.

K virtuálnímu počítači se můžete také připojit pomocí Bash v Azure Cloud Shell. Cloud Shell můžete použít ve webovém prohlížeči, z Azure Portal nebo jako terminál v editoru Visual Studio Code pomocí rozšíření Azure Account.

Můžete také nainstalovat Subsystém Windows pro Linux pro připojení k virtuálnímu počítači přes SSH a používat další nativní linuxové nástroje v prostředí Bash.

Vytvoření páru klíčů SSH

Nejjednodušší způsob, jak vytvořit a spravovat klíče SSH, je použít portál k jejich vytvoření a uložení pro opakované použití.

Páry klíčů můžete vytvořit také pomocí Azure CLI pomocí příkazu az sshkey create , jak je popsáno v tématu Generování a ukládání klíčů SSH.

Pokud chcete na místním počítači vytvořit pár klíčů SSH pomocí ssh-keygen příkazu z PowerShellu nebo příkazového řádku, zadejte následující příkaz:

ssh-keygen -m PEM -t rsa -b 2048

Zadejte název souboru nebo použijte výchozí hodnotu uvedenou v závorkách (například C:\Users\username/.ssh/id_rsa). Zadejte heslo k souboru nebo nechte heslo prázdné, pokud nechcete použít přístupové heslo.

Vytvoření virtuálního počítače pomocí klíče

Pokud chcete vytvořit virtuální počítač s Linuxem, který k ověřování používá klíče SSH, zadejte při vytváření virtuálního počítače veřejný klíč SSH.

Pomocí Azure CLI zadáte cestu a název souboru veřejného klíče pomocí az vm create parametru --ssh-key-value a .

az vm create \
   --resource-group myResourceGroup \
   --name myVM \
   --image Ubuntu2204\
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

V PowerShellu použijte New-AzVM klíč SSH a přidejte ho do konfigurace virtuálního počítače pomocí . Příklad najdete v tématu Rychlý start: Vytvoření virtuálního počítače s Linuxem v Azure pomocí PowerShellu.

Pokud provádíte mnoho nasazení pomocí portálu, možná budete chtít nahrát veřejný klíč do Azure, kde ho můžete snadno vybrat při vytváření virtuálního počítače z portálu. Další informace najdete v tématu Nahrání klíče SSH.

Připojení k virtuálnímu počítači

S veřejným klíčem nasazeným na virtuálním počítači Azure a privátním klíčem v místním systému SSH k virtuálnímu počítači pomocí IP adresy nebo názvu DNS virtuálního počítače. Nahraďte azureuser a 10.111.12.123 v následujícím příkazu uživatelským jménem správce, IP adresou (nebo plně kvalifikovaným názvem domény) a cestou k privátnímu klíči:

ssh -i ~/.ssh/id_rsa azureuser@10.111.12.123

Pokud jste se k tomuto virtuálnímu počítači ještě nikdy nepřipojili, zobrazí se výzva k ověření otisku prstu hostitele. Je lákavé přijmout předaný otisk prstu, ale to vás vystavuje možné osobě uprostřed útoku. Vždy byste měli ověřit otisk prstu hostitele. Stačí, když se poprvé připojíte z klienta. Pokud chcete získat otisk hostitele prostřednictvím portálu, použijte příkaz Spustit s následujícím příkazem: ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'.

Snímek obrazovky znázorňující ověření otisku prstu hostitele pomocí příkazu Spustit příkaz

Pokud chcete příkaz spustit pomocí rozhraní příkazového řádku, použijte příkazaz vm run-command invoke .

Pokud jste při vytváření páru klíčů nakonfigurovali heslo, po zobrazení výzvy zadejte heslo.

Pokud virtuální počítač používá zásady přístupu za běhu, musíte před připojením k virtuálnímu počítači požádat o přístup. Další informace o zásadách za běhu najdete v tématu Správa přístupu k virtuálním počítačům pomocí zásad za běhu.

Další kroky