Sdílet prostřednictvím


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 nebo vyšší.

Diagram znázorňuje připojení přes nativního klienta.

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.

Požadavky

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ů