Sdílet prostřednictvím


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

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í 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í klienta nebo funkcí najdete v tématu Připojení k virtuálním počítačům.

  • Připojte se k virtuálnímu počítači s Linuxem pomocí příkazu az network bastion ssh.
  • Připojte se k virtuálnímu počítači s Windows pomocí příkazu az network bastion tunnel.
  • Připojte se k libovolnému virtuálnímu počítači pomocí tunelu az network bastion.
  • Přenos souborů do cílového virtuálního počítače přes SSH pomocí příkazu az network bastion tunnel.

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

  • Role čtenáře na virtuálním počítači.

  • Role čtenáře na síťové kartě s privátní IP adresou virtuálního počítače.

  • Role čtenáře prostředku Azure Bastion.

  • Pokud používáte přihlašovací metodu Microsoft Entra, přihlaste se správcem virtuálního počítače nebo roli Přihlášení uživatele virtuálního počítače. Musíte to udělat jenom v případě, že povolíte přihlášení k Microsoft Entra pomocí procesů popsaných v jednom z těchto článků:

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 přenášet 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řipojte se k virtuálnímu počítači s Linuxem pomocí SSH.
  • Ověřování prostřednictvím ID Microsoft Entra
  • Připojte se ke souběžnému relacím 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. Ověřování Microsoft Entra ID 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-address "<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řipojte se 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řipojte se 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.
  • Přenos souborů do cílového virtuálního počítače z místního počítače

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řipojte se 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 ID 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

Přenos souborů