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ý pro uživatele Windows, kteří chtějí vytvořit 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é vygenerovat a uložit na webu Azure Portal , které se použijí 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, prohlédni si rychlý postup. Podrobnější přehled SSH najdete v podrobných krocích: Vytvoření a správa klíčů SSH pro ověřování virtuálních počítačů s Linuxem v Azure.

Přehled SSH a klíčů

SSH je šifrovaný protokol připojení, který umožňuje zabezpečené přihlašování přes nezabezpečená připojení. SSH je výchozí protokol pro připojení pro virtuální počítače s Linuxem hostovanými v Azure. I když samotný SSH poskytuje šifrované připojení, používání hesel s protokolem SSH stále opouští 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 privátního klíče, který se označuje také jako klíče SSH.

Pár veřejného a privátního klíče je jako zámek na vašich dveřích. Zámek je přístupný veřejnosti, každý, kdo má správnou klávesu, může otevřít dveře. Klíč je soukromý a dá se jen lidem, kterým důvěřujete, protože je možné ho 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 ve vašem 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íč, má udělený přístup k virtuálnímu počítači.

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

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

Podporované formáty klíčů SSH

Azure v současné době podporuje následující typy klíčů:

  • Protokol SSH 2 (SSH-2) RSA (Rivest, Shamir, Adleman) s minimální délkou 2048 bitů
  • ED25519 klíče s pevnou délkou 256 bitů

Jiné klíčové formáty, jako je Například Elliptic-curve Diffie-Hellman (ECDH) a Elliptic Curve Digital Signature Algorithm (ECDSA), se v současné době nepodporují.

Klienti SSH

Nejnovější verze Windows 10 zahrnují příkazy klienta OpenSSH k vytvoření a používání klíčů SSH a vytváření připojení SSH z PowerShellu nebo příkazového řádku.

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

Můžete také nainstalovat Subsystém Windows pro Linux pro připojení k virtuálnímu počítači přes SSH a použít 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 také vytvořit 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 vytvořit pár klíčů SSH v místním počítači pomocí ssh-keygen příkazu z PowerShellu nebo příkazového řádku, použijte následující příkaz:

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

Zadejte název souboru nebo použijte výchozí závorku (například C:\Users\username/.ssh/id_rsa). Zadejte heslo pro soubor nebo heslo ponechte prázdné, pokud nechcete používat 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, při vytváření virtuálního počítače zadejte veřejný klíč SSH.

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

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 a přidejte klíč SSH 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 na portálu provedete mnoho nasazení, můžete 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 se připojte přes SSH k virtuálnímu počítači pomocí IP adresy nebo názvu DNS vašeho 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 vašemu 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 nikdy nepřipojili, budete požádáni o ověření otisku prstu hostitele. Je však lákavé přijmout otisk prstu, který jste předložili, to vás ale zpřístupní možné osobě uprostřed útoku. Vždy byste měli ověřit otisk prstu hostitele. Stačí to udělat jenom při prvním připojení z klienta. Pokud chcete získat otisk prstu 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í použití příkazu Spustit k ověření otisku prstu hostitele

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

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 požádat o přístup, abyste se mohli připojit k virtuálnímu počítači. Další informace ozásadách

Další kroky