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šší.
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:
- Nainstaluje se nejnovější verze příkazů rozhraní příkazového řádku (verze 2.32 nebo novější). Rozhraní příkazového řádku pro Bastion můžete aktualizovat pomocí
az extension update --name bastion
. Informace o instalaci příkazů rozhraní příkazového řádku najdete v tématech Instalace Azure CLI a Začínáme s Azure CLI. - Azure Bastion je už nasazený a nakonfigurovaný pro vaši virtuální síť. Postup najdete v tématu Konfigurace Bastionu pro nativní klientská připojení.
- Virtuální počítač ve virtuální síti.
- ID prostředku virtuálního počítače. ID prostředku se dá snadno nacházet na webu Azure Portal. Přejděte na stránku Přehled vašeho virtuálního počítače a výběrem odkazu zobrazení JSON otevřete JSON prostředku. Zkopírujte ID prostředku v horní části stránky do schránky, abyste ho mohli použít později při připojování k virtuálnímu počítači.
- Pokud se chcete přihlásit k virtuálnímu počítači pomocí přihlašovacích údajů Microsoft Entra, ujistěte se, že je váš virtuální počítač nastavený pomocí jedné z následujících metod:
- Povolte přihlášení Microsoft Entra pro virtuální počítač s Windows nebo virtuální počítač s Linuxem.
- Nakonfigurujte virtuální počítač s Windows tak, aby byl připojený k Microsoft Entra.
- Nakonfigurujte virtuální počítač s Windows tak, aby byl hybridním připojeným microsoftem Entra.
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:
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>"
.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>"
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
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
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
Vytvořte tunel ssh v tunelu bastionu.
ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
Pomocí nástroje VS Code se připojte k připojení k tunelu.