Připojení k virtuálnímu počítači pomocí Bastionu a nativního klienta s Linuxem

Tento článek vám pomůže připojit se přes Azure Bastion k virtuálnímu počítači ve virtuální síti pomocí nativního klienta na místním počítači s Linuxem. Funkce nativního klienta umožňuje připojit se k cílovým virtuálním počítačům prostřednictvím Bastionu pomocí Azure CLI a rozšiřuje možnosti přihlašování, aby zahrnovaly místní pár klíčů SSH a ID Microsoft Entra. Další informace a postup konfigurace Bastionu pro nativní připojení klientů najdete v tématu Konfigurace Bastionu pro nativní připojení klientů. Připojení ions prostřednictvím nativního klienta vyžadují skladovou položku Bastion Standard.

Diagram shows a connection via native client.

Jakmile nakonfigurujete Bastion pro nativní podporu klientů, můžete se k virtuálnímu počítači připojit pomocí nativního klienta Linuxu. Metoda, kterou používáte pro připojení, závisí na klientovi, ze kterému se připojujete, a na virtuálním počítači, ke kterému se připojujete. Následující seznam ukazuje některé z dostupných způsobů, jak se můžete připojit z nativního klienta linuxu. Úplný seznam s dostupnými kombinacemi připojení nebo funkcí klienta najdete v Připojení k virtuálním počítačům.

  • Připojení k virtuálnímu počítači s Linuxem pomocí příkazu az network bastion ssh.
  • Připojení k virtuálnímu počítači s Windows pomocí příkazu az network bastion tunnel.
  • Připojení k libovolnému virtuálnímu počítači pomocí příkazu az network bastion tunnel.
  • Nahrajte soubory do cílového virtuálního počítače přes SSH pomocí příkazu az network bastion tunnel. Tento příkaz v současné době nepodporuje stahování souborů z cílového virtuálního počítače do místního klienta.

Předpoklady

Než začnete, ověřte, že máte následující požadavky:

Ověření rolí a portů

Ověřte, že jsou pro připojení k virtuálnímu počítači nakonfigurované následující role a porty.

Požadované role

Porty

Pokud se chcete připojit k virtuálnímu počítači s Linuxem pomocí nativní podpory klienta, musíte mít na virtuálním počítači s Linuxem otevřené následující porty:

  • Příchozí port: SSH (22) nebo
  • Příchozí port: Vlastní hodnota (při připojení k virtuálnímu počítači přes Azure Bastion pak budete muset zadat tento vlastní port).

Pokud se chcete připojit k virtuálnímu počítači s Windows pomocí nativní podpory klienta, musíte mít na virtuálním počítači s Windows otevřené následující porty:

  • Příchozí port: RDP (3389) nebo
  • Příchozí port: Vlastní hodnota (při připojení k virtuálnímu počítači přes Azure Bastion pak budete muset zadat tento vlastní port).

Informace o tom, jak nejlépe nakonfigurovat skupiny zabezpečení sítě se službou Azure Bastion, najdete v tématu Práce s přístupem k NSG a službou Azure Bastion.

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

Kroky v následujících částech vám pomůžou připojit se k virtuálnímu počítači s Linuxem z nativního klienta Linuxu pomocí příkazu az network bastion . Toto rozšíření lze nainstalovat spuštěním příkazu az extension add --name bastion.

Při připojení pomocí tohoto příkazu se přenosy souborů nepodporují. Pokud chcete nahrát soubory, připojte se místo toho pomocí příkazu az network bastion tunnel .

Tento příkaz vám umožní provést následující akce:

  • Připojení k virtuálnímu počítači s Linuxem pomocí SSH.
  • Ověřování prostřednictvím ID Microsoft Entra
  • Připojení do souběžných relací virtuálních počítačů v rámci virtuální sítě.

Pokud se chcete přihlásit, použijte jeden z následujících příkladů. Jakmile se přihlásíte k cílovému virtuálnímu počítači, otevře se nativní klient na vašem počítači s relací virtuálního počítače.

Pár klíčů SSH

Pokud se chcete k virtuálnímu počítači přihlásit pomocí páru klíčů SSH, použijte následující příklad.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"

Ověřování Microsoft Entra

Pokud se přihlašujete k virtuálnímu počítači s povoleným přihlášením Microsoft Entra, použijte následující příklad. Další informace najdete v tématu Virtuální počítače Azure s Linuxem a ID Microsoft Entra.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "AAD"

Uživatelské jméno a heslo

Pokud se k virtuálnímu počítači přihlašujete pomocí místního uživatelského jména a hesla, použijte následující příklad. Zobrazí se výzva k zadání hesla pro cílový virtuální počítač.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"

Připojení SSH k IP adrese virtuálního počítače s Linuxem

Místo ID prostředku se můžete připojit k privátní IP adrese virtuálního počítače. Mějte na paměti, že ověřování Microsoft Entra a vlastní porty a protokoly nejsou podporovány při použití tohoto typu připojení. Další informace o připojeních založených na IP adresách najdete v tématu Připojení k virtuálnímu počítači – IP adresa.

az network bastion Pomocí příkazu nahraďte --target-resource-id a zadanou --target-ip-address IP adresou pro připojení k virtuálnímu počítači. Následující příklad používá --ssh-key pro metodu ověřování.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-addres "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"

Připojení k virtuálnímu počítači – příkaz tunelu

Příkaz az network bastion tunnel je další způsob, jak se můžete připojit ke svým virtuálním počítačům. Když použijete tento příkaz, můžete udělat toto:

  • Připojení z nativních klientů na místních počítačích s jiným systémem než Windows. (Například počítač s Linuxem.)
  • Připojení k virtuálnímu počítači pomocí SSH nebo RDP. (Tunel bastionu nepřevádí webové servery ani hostitele.)
  • Použijte nativního klienta podle svého výběru.
  • Nahrajte soubory do cílového virtuálního počítače z místního počítače. Tento příkaz v současné době nepodporuje stahování souborů z cílového virtuálního počítače do místního klienta.

Omezení:

  • V této funkci se nepodporuje přihlášení pomocí privátního klíče SSH uloženého ve službě Azure Key Vault. Před přihlášením k virtuálnímu počítači s Linuxem pomocí páru klíčů SSH stáhněte privátní klíč do souboru na místním počítači.
  • Tato funkce není v Cloud Shellu podporovaná.

Kroky:

  1. Přihlaste se ke svému účtu Azure pomocí az login. Pokud máte více než jedno předplatné, můžete je zobrazit pomocí az account list a vybrat předplatné obsahující váš prostředek Bastion pomocí az account set --subscription "<subscription ID>".

  2. Otevřete tunel na cílový virtuální počítač.

    az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
    
  3. Připojení k cílovému virtuálnímu počítači pomocí SSH nebo RDP, nativního klienta podle vašeho výběru a portu místního počítače, který jste zadali v předchozím kroku.

    Můžete například použít následující příkaz, pokud máte na místním počítači nainstalovaný klient OpenSSH:

    ssh <username>@127.0.0.1 -p <LocalMachinePort>
    

Tunelování na IP adresu virtuálního počítače

Místo ID prostředku se můžete připojit také k privátní IP adrese virtuálního počítače. Ověřování Microsoft Entra a vlastní porty a protokoly nejsou podporovány při použití tohoto typu připojení. Další informace o připojeních založených na IP adresách najdete v tématu Připojení k virtuálnímu počítači – IP adresa.

az network bastion tunnel Pomocí příkazu nahraďte --target-resource-id a zadanou --target-ip-address IP adresou pro připojení k virtuálnímu počítači.

az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"

Tunel s více připojeními

  1. Do souboru $HOME.ssh\config přidejte následující kód.

    Host tunneltunnel
      HostName 127.0.0.1
      Port 2222
      User mylogin
      StrictHostKeyChecking=No
      UserKnownHostsFile=\\.\NUL
    
  2. Přidejte připojení tunelu k vytvořenému připojení tunelu.

    az network bastion tunnel --name mybastion --resource-group myrg --target-resource-id /subscriptions/<mysubscription>/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm --resource-port 22 --port 22
    
  3. Vytvořte tunel ssh v tunelu bastionu.

    ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
    
  4. Pomocí nástroje VS Code se připojte k připojení k tunelu.

Další kroky

Nahrání nebo stažení souborů