Připojení k virtuálnímu počítači s Linuxem
Při hostování virtuálního počítače s Linuxem v Azure je nejběžnější metodou přístupu k danému virtuálnímu počítači přes protokol SSH (Secure Shell Protocol). Každý standardní klient SSH, který se běžně nachází v Linuxu a Windows, umožňuje připojení. Azure Cloud Shell můžete použít také z libovolného prohlížeče.
Tento dokument popisuje, jak se připojit přes SSH k virtuálnímu počítači s veřejnou IP adresou. Pokud se potřebujete připojit k virtuálnímu počítači bez veřejné IP adresy, přečtěte si téma Azure Bastion Service.
Požadavky
Potřebujete pár klíčů SSH. Pokud ho ještě nemáte, Azure během procesu nasazení vytvoří pár klíčů. Pokud potřebujete pomoc s ručním vytvořením, přečtěte si téma Vytvoření a použití páru veřejného a privátního klíče SSH pro virtuální počítače s Linuxem v Azure.
Potřebujete existující skupinu zabezpečení sítě (NSG). Většina virtuálních počítačů má ve výchozím nastavení skupinu zabezpečení sítě, ale pokud ji ještě nemáte, můžete ji vytvořit a připojit ji ručně. Další informace najdete v tématu Vytvoření, změna nebo odstranění skupiny zabezpečení sítě.
Pokud se chcete připojit k virtuálnímu počítači s Linuxem, potřebujete otevřít příslušný port. SSH obvykle používá port 22. Následující pokyny předpokládají port 22, ale proces je stejný pro ostatní čísla portů. Pomocí poradce při potížích můžete ověřit, jestli je pro SSH otevřený příslušný port, nebo můžete zkontrolovat nastavení virtuálního počítače ručně. Pokud chcete zkontrolovat, jestli je otevřený port 22:
Na stránce virtuálního počítače v nabídce vlevo vyberte Sítě .
Na stránce Sítě zkontrolujte, jestli neexistuje pravidlo, které umožňuje tcp na portu 22 z IP adresy počítače, který používáte pro připojení k virtuálnímu počítači. Pokud pravidlo existuje, můžete přejít k další části.
Pokud pravidlo neexistuje, přidejte ho výběrem možnosti Přidat příchozí pravidlo portu.
V části Služba vyberte v rozevíracím seznamu SSH .
V případě potřeby upravte prioritu a zdroj.
Jako název zadejte SSH.
Až budete hotovi, vyberte Přidat.
Teď byste měli mít v tabulce příchozích pravidel portů pravidlo SSH.
Váš virtuální počítač musí mít veřejnou IP adresu. Pokud chcete zkontrolovat, jestli má váš virtuální počítač veřejnou IP adresu, v nabídce vlevo vyberte Přehled a podívejte se do části Sítě . Pokud se vedle veřejné IP adresy zobrazí IP adresa, váš virtuální počítač má veřejnou IP adresu.
Pokud váš virtuální počítač nemá veřejnou IP adresu, vypadá takto:
Další informace o přidání veřejné IP adresy do existujícího virtuálního počítače najdete v tématu Přidružení veřejné IP adresy k virtuálnímu počítači.
Ověřte, že je váš virtuální počítač spuštěný. Na kartě Přehled v části Základy ověřte stav spuštěného virtuálního počítače. Pokud chcete virtuální počítač spustit, vyberte Spustit v horní části stránky.
Pokud máte potíže s připojením, můžete použít také portál:
- Přejděte na web Azure Portal a připojte se k virtuálnímu počítači. Vyhledejte a vyberte Virtuální počítače.
- Ze seznamu vyberte virtuální počítač.
- V nabídce vlevo vyberte Připojit .
- Vyberte možnost, která odpovídá preferovanému způsobu připojení. Portál vám pomůže projít požadavky na připojení.
Připojení k virtuálnímu počítači
Jakmile splníte výše uvedené požadavky, můžete se ke svému virtuálnímu počítači připojit. Otevřete libovolného klienta SSH. Příkaz klienta SSH je obvykle součástí Linuxu, macOS a Windows. Pokud používáte Windows 7 nebo starší, kde Win32 OpenSSH není ve výchozím nastavení zahrnutý, zvažte instalaci WSL nebo použití Azure Cloud Shellu z prohlížeče.
Poznámka:
Následující příklady předpokládají, že klíč SSH je ve formátu key.pem. Pokud jste ke stažení klíčů použili rozhraní příkazového řádku nebo Azure PowerShell, můžou být ve formátu id_rsa nebo ED25519.
SSH s novým párem klíčů
Ujistěte se, že jsou vaše veřejné a privátní klíče ve správném adresáři. Adresář je obvykle
~/.ssh
.Pokud jste klíče vygenerovali ručně nebo jste je vygenerovali pomocí rozhraní příkazového řádku, klíče už pravděpodobně existují. Pokud jste je ale stáhli ve formátu pem z webu Azure Portal, budete je možná muset přesunout na správné místo. Přesunutí klíčů se provádí s následující syntaxí:
mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION
Pokud je klíč například ve
Downloads
složce amyKey.pem
je název vašeho klíče SSH, zadejte:mv /Downloads/myKey.pem ~/.ssh
Poznámka:
Pokud používáte WSL, v adresáři se nacházejí
mnt/c/
místní soubory. Proto by cesta ke stažené složce a klíč SSH byla/mnt/c/Users/{USERNAME}/Downloads/myKey.pem
Spuštěním příkazu
se ujistěte, že máte k privátnímu klíči přístup jen pro čtení.. chmod 400 ~/.ssh/myKey.pem
Spusťte příkaz SSH s následující syntaxí:
ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
Pokud
azureuser
jste například uživatelské jméno, které jste vytvořili, a20.51.230.13
jedná se o veřejnou IP adresu vašeho virtuálního počítače, zadejte:ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
Ověřte vrácený otisk prstu.
Pokud jste se k tomuto virtuálnímu počítači ještě nepřipojili, zobrazí se výzva k ověření otisku prstu hostitele. Je lákavé přijmout otisk prstu prezentovaný, ale to vás vystavuje potenciální 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 přes portál, spusťte příkaz pomocí funkce Spustit příkaz:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Výborně! Teď byste měli být připojení k virtuálnímu počítači. Pokud se nemůžete připojit, přečtěte si téma Řešení potíží s připojeními SSH.
SSH s existujícím veřejným klíčem
V klientovi SSH spusťte následující příkaz. V tomto příkladu 20.51.230.13 je veřejná IP adresa vašeho virtuálního počítače a azureuser je uživatelské jméno, které jste vytvořili při vytváření virtuálního počítače.
ssh azureuser@20.51.230.13
Ověřte vrácený otisk prstu.
Pokud jste se nikdy nepřipojili k požadovanému virtuálnímu počítači z aktuálního klienta SSH, než se zobrazí výzva k ověření otisku prstu hostitele. I když je výchozí možností přijetí otisku prstu, jste vystaveni možnému "osobě uprostřed útoku". Vždy byste měli ověřit otisk prstu hostitele, který je potřeba provést pouze při prvním připojení klienta. Pokud chcete získat otisk prstu hostitele prostřednictvím portálu, spusťte příkaz pomocí funkce Spustit příkaz:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Výborně! Teď byste měli být připojení k virtuálnímu počítači. Pokud se nemůžete připojit, prohlédni si našeho průvodce odstraňováním potíží.
Ověřování heslem
Upozorňující
Tento typ metody ověřování není tak zabezpečený jako pár klíčů SSH a nedoporučuje se.
V klientovi SSH spusťte následující příkaz. V tomto příkladu 20.51.230.13 je veřejná IP adresa vašeho virtuálního počítače a azureuser je uživatelské jméno, které jste vytvořili při vytváření virtuálního počítače.
ssh azureuser@20.51.230.13
Pokud jste zapomněli heslo nebo uživatelské jméno, přečtěte si téma Resetování přístupu k virtuálnímu počítači Azure.
Ověřte vrácený otisk prstu.
Pokud jste se nikdy nepřipojili k požadovanému virtuálnímu počítači z aktuálního klienta SSH, než se zobrazí výzva k ověření otisku prstu hostitele. I když je výchozí možností přijetí otisku prstu, jste vystaveni možnému "osobě uprostřed útoku". Vždy byste měli ověřit otisk prstu hostitele, který je potřeba provést pouze při prvním připojení klienta. Pokud chcete získat otisk prstu hostitele prostřednictvím portálu, spusťte příkaz pomocí funkce Spustit příkaz:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Výborně! Teď byste měli být připojení k virtuálnímu počítači. Pokud se nemůžete připojit, přečtěte si téma Řešení potíží s připojeními SSH.
Další kroky
Informace o přenosu souborů do existujícího virtuálního počítače najdete v tématu Použití SCP k přesunu souborů do a z virtuálního počítače.