Použití klíčů SSH s Windows v AzureHow to use SSH keys with Windows on Azure

Tento článek popisuje způsoby generování a použití klíčů protokolu SSH ( Secure Shell ) na počítači s Windows k vytvoření a připojení k virtuálnímu počítači se systémem Linux v Azure.This article describes ways to generate and use secure shell (SSH) keys on a Windows computer to create and connect to a Linux virtual machine (VM) in Azure. Postup použití klíčů SSH z klienta se systémem Linux nebo macOS naleznete v tématu rychlé a podrobné pokyny.To use SSH keys from a Linux or macOS client, see the quick or detailed guidance.

Přehled Azure a klíčů SSHOverview of SSH and keys

SSH je šifrované připojení protokol, který umožňuje zabezpečené přihlášení přes zabezpečená připojení.SSH is an encrypted connection protocol that allows secure sign-ins over unsecured connections. SSH je výchozím protokolem připojení pro virtuální počítače Linux hostované v Azure.SSH is the default connection protocol for Linux VMs hosted in Azure. I když SSH samotné poskytuje šifrované připojení, používat hesla s připojeními SSH stále zranitelný virtuálního počítače k útoku hrubou silou útoků nebo hádání hesel.Although SSH itself provides an encrypted connection, using passwords with SSH connections still leaves the VM vulnerable to brute-force attacks or guessing of passwords. Bezpečnější a upřednostňovaný způsob připojení k virtuálnímu počítači pomocí SSH je pomocí pár veřejného a privátního klíče, označované také jako klíče SSH.A more secure and preferred method of connecting to a VM using SSH is by using a public-private key pair, also known as SSH keys.

  • Veřejný klíč je umístěn na virtuální počítač s Linuxem nebo jakoukoli jinou službu, kterou chcete používat s kryptografie využívající veřejný klíč.The public key is placed on your Linux VM, or any other service that you wish to use with public-key cryptography.

  • Privátní klíč zůstane v místním systému.The private key remains on your local system. Chraňte tento privátní klíč.Protect this private key. Nesdílejte ho.Do not share it.

Při použití klienta SSH pro připojení k virtuálním počítačům s Linuxem (který obsahuje veřejný klíč), vzdáleném virtuálním počítači ověřuje klienta, abyste měli jistotu, že má privátní klíč.When you use an SSH client to connect to your Linux VM (which has the public key), the remote VM tests the client to make sure it possesses the private key. Pokud klient nemá privátní klíč, je udělen přístup k virtuálnímu počítači.If the client has the private key, it's granted access to the VM.

V závislosti na zásadách zabezpečení vaší organizace můžete využít jeden pár veřejného a privátního klíče pro přístup k více virtuálních počítačů Azure a služeb.Depending on your organization's security policies, you can reuse a single public-private key pair to access multiple Azure VMs and services. Není nutné samostatné páru klíčů pro každý virtuální počítač nebo službu, kterou budete chtít získat přístup.You do not need a separate pair of keys for each VM or service you wish to access.

Veřejný klíč je sdílet s kýmkoli, ale pouze vy (nebo vaše místní infrastruktura zabezpečení) by měly mít privátní klíč.Your public key can be shared with anyone, but only you (or your local security infrastructure) should possess your private key.

Podporované formáty klíče SSHSupported SSH key formats

Azure aktuálně podporuje SSH protokolu 2 RSA (SSH-2) dvojice veřejného a privátního klíče, které s minimální délkou 2 048 bitů.Azure currently supports SSH protocol 2 (SSH-2) RSA public-private key pairs with a minimum length of 2048 bits. Další klíče formáty, jako je například ED25519 a ECDSA nejsou podporovány.Other key formats such as ED25519 and ECDSA are not supported.

Balíčky Windows a klienti SSHWindows packages and SSH clients

Pomocí klienta sshse připojujete k virtuálním počítačům Linux a spravujete je v Azure.You connect to and manage Linux VMs in Azure using an SSH client. Počítače se systémem Linux nebo macOS obvykle mají sadu příkazů SSH pro generování a správu klíčů SSH a k vytváření připojení SSH.Computers running Linux or macOS usually have a suite of SSH commands to generate and manage SSH keys and to make SSH connections.

Na počítačích s Windows nejsou vždycky nainstalované srovnatelné příkazy SSH.Windows computers do not always have comparable SSH commands installed. Poslední verze Windows 10 poskytují příkazy klienta OpenSSH k vytváření a správě klíčů ssh a vytvářejí připojení SSH z příkazového řádku.Recent versions of Windows 10 provide OpenSSH client commands to create and manage SSH keys and make SSH connections from a command prompt. Poslední verze Windows 10 také zahrnují podsystém Windows pro Linux pro spouštění a přístup k nástrojům, jako je klient SSH nativně v rámci prostředí bash.Recent Windows 10 versions also include the Windows Subsystem for Linux to run and access utilities such as an SSH client natively within a Bash shell.

Další běžné klienty Windows SSH, které můžete nainstalovat místně, jsou zahrnuté v následujících balíčcích:Other common Windows SSH clients you can install locally are included in the following packages:

Můžete také použít nástroje SSH dostupné v bash v Azure Cloud Shell.You can also use the SSH utilities available in Bash in the Azure Cloud Shell.

Vytvoření páru klíčů SSHCreate an SSH key pair

Následující části popisují dvě možnosti vytvoření páru klíčů SSH ve Windows.The following sections describe two options to create an SSH key pair on Windows. Můžete použít příkaz Shell (ssh-keygen) nebo nástroj grafického uživatelského rozhraní (PuTTYgen).You can use a shell command (ssh-keygen) or a GUI tool (PuTTYgen). Všimněte si také, že při použití PowerShellu k vytvoření klíče nahrajte veřejný klíč jako formát SSH. com (SECSH).Also note, when using Powershell to create a key, upload the public key as ssh.com(SECSH) format. Při použití rozhraní příkazového řádku převeďte klíč do formátu OpenSSH před odesláním.When using CLI, convert the key into OpenSSH format prior to uploading.

Vytvoření klíčů SSH pomocí ssh-keygenCreate SSH keys with ssh-keygen

Pokud spustíte příkazové prostředí ve Windows, které podporuje nástroje klienta SSH (nebo používáte Azure Cloud Shell), vytvořte pár klíčů ssh pomocí ssh-keygen příkazu.If you run a command shell on Windows that supports SSH client tools (or you use Azure Cloud Shell), create an SSH key pair using the ssh-keygen command. Zadejte následující příkaz a odpovězte na výzvy.Type the following command, and answer the prompts. Pokud ve zvoleném umístění existuje pár klíčů SSH, tyto soubory se přepíší.If an SSH key pair exists in the chosen location, those files are overwritten.

ssh-keygen -t rsa -b 2048

Další informace a informace najdete v tématu rychlé nebo podrobné kroky k vytvoření klíčů ssh pomocí ssh-keygen.For more background and information, see the quick or detailed steps to create SSH keys using ssh-keygen.

Vytvoření klíčů SSH pomocí PuTTYgenCreate SSH keys with PuTTYgen

Pokud upřednostňujete použití nástroje založeného na grafickém uživatelském rozhraní k vytváření klíčů SSH, můžete použít generátor klíčů PuTTYgen, který je zahrnutý v balíčku pro stažení výstupu.If you prefer to use a GUI-based tool to create SSH keys, you can use the PuTTYgen key generator, included with the PuTTY download package.

Vytvoření páru klíčů SSH RSA pomocí PuTTYgen:To create an SSH RSA key pair with PuTTYgen:

  1. Spusťte PuTTYgen.Start PuTTYgen.

  2. Klikněte na Generovat.Click Generate. Ve výchozím nastavení PuTTYgen generuje 2048 klíč RSA-2 pro SSH.By default PuTTYgen generates a 2048-bit SSH-2 RSA key.

  3. Přesunutím myši kolem prázdné oblasti zadáte náhodnost pro klíč.Move the mouse around in the blank area to provide randomness for the key.

  4. Po vygenerování veřejného klíče můžete zadat a Potvrdit heslo.After the public key is generated, optionally enter and confirm a passphrase. Po ověření pro virtuální počítač s privátním klíčem SSH se zobrazí výzva k zadání hesla.You will be prompted for the passphrase when you authenticate to the VM with your private SSH key. Bez přístupového hesla, pokud někdo získá privátní klíč, se může přihlásit k libovolnému virtuálnímu počítači nebo službě, která tento klíč používá.Without a passphrase, if someone obtains your private key, they can sign in to any VM or service that uses that key. Doporučujeme vytvořit přístupové heslo.We recommend you create a passphrase. Pokud však heslo zapomenete, neexistuje žádný způsob, jak jej obnovit.However, if you forget the passphrase, there is no way to recover it.

  5. Veřejný klíč se zobrazí v horní části okna.The public key is displayed at the top of the window. Můžete zkopírovat celý veřejný klíč a pak ho vložit do Azure Portal nebo šablony Azure Resource Manager při vytváření virtuálního počítače se systémem Linux.You can copy this entire public key and then paste it into the Azure portal or an Azure Resource Manager template when you create a Linux VM. Můžete také vybrat možnost Uložit veřejný klíč a uložit kopii do počítače:You can also select Save public key to save a copy to your computer:

    Uložit soubor s veřejným klíčem výstupu

  6. Pokud chcete uložit privátní klíč ve formátu RTF (soubor. ppk), vyberte Uložit privátní klíč.Optionally, to save the private key in PuTTy private key format (.ppk file), select Save private key. K vytvoření připojení SSH k virtuálnímu počítači budete potřebovat soubor. ppk později.You will need the .ppk file later to use PuTTY to make an SSH connection to the VM.

    Uložit soubor privátního klíče na výstupu

    Pokud chcete uložit privátní klíč ve formátu OpenSSH, použije se formát privátního klíče, který používá mnoho klientů SSH, a pak vyberte převody > exportovat OpenSSH Key.If you want to save the private key in the OpenSSH format, the private key format used by many SSH clients, select Conversions > Export OpenSSH key.

Při nasazování virtuálního počítače zadejte veřejný klíč SSH.Provide an SSH public key when deploying a VM

Pokud chcete vytvořit virtuální počítač se systémem Linux, který používá klíče SSH k ověřování, zadejte svůj veřejný klíč SSH při vytváření virtuálního počítače pomocí Azure Portal nebo jiných metod.To create a Linux VM that uses SSH keys for authentication, provide your SSH public key when creating the VM using the Azure portal or other methods.

Následující příklad ukazuje, jak byste při vytváření virtuálního počítače se systémem Linux zkopírovali a vložili tento veřejný klíč do Azure Portal.The following example shows how you would copy and paste this public key into the Azure portal when you create a Linux VM. Veřejný klíč se obvykle uloží do adresáře ~/.ssh/authorized_key na vašem novém VIRTUÁLNÍm počítači.The public key is typically then stored in the ~/.ssh/authorized_key directory on your new VM.

Při vytváření virtuálního počítače v Azure Portal použít veřejný klíč

Připojení k virtuálnímu počítačiConnect to your VM

Jedním ze způsobů, jak vytvořit připojení SSH k VIRTUÁLNÍmu počítači Linux z Windows, je použití klienta SSH.One way to make an SSH connection to your Linux VM from Windows is to use an SSH client. Toto je upřednostňovaná metoda, pokud máte nainstalovaného klienta SSH v systému Windows nebo pokud používáte nástroje SSH v bash v Azure Cloud Shell.This is the preferred method if you have an SSH client installed on your Windows system, or if you use the SSH tools in Bash in Azure Cloud Shell. Pokud dáváte přednost nástroji založenému na grafickém uživatelském rozhraní, můžete se připojit pomocí výstupu.If you prefer a GUI-based tool, you can connect with PuTTY.

Použití klienta SSHUse an SSH client

S veřejným klíčem nasazeným na VIRTUÁLNÍm počítači Azure a privátním klíčem v místním systému se k vašemu VIRTUÁLNÍmu počítači přihlaste přes SSH pomocí IP adresy nebo názvu DNS vašeho virtuálního počítače.With the public key deployed on your Azure VM, and the private key on your local system, SSH to your VM using the IP address or DNS name of your VM. V následujícím příkazu nahraďte azureuser a myvm.westus.cloudapp.Azure.com uživatelským jménem správce a plně kvalifikovaným názvem domény (nebo IP adresou):Replace azureuser and myvm.westus.cloudapp.azure.com in the following command with the administrator user name and the fully qualified domain name (or IP address):

ssh azureuser@myvm.westus.cloudapp.azure.com

Pokud jste při vytváření páru klíčů nakonfigurovali heslo, zadejte ho při zobrazení výzvy během procesu přihlašování.If you configured a passphrase when you created your key pair, enter the passphrase when prompted during the sign-in process.

Pokud virtuální počítač používá zásady přístupu za běhu, musíte požádat o přístup, abyste se mohli připojit k virtuálnímu počítači.If the VM is using the just-in-time access policy, you need to request access before you can connect to the VM. Další informace o zásadách za běhu najdete v tématu Správa přístupu k virtuálním počítačům pomocí zásad podle časových údajů.For more information about the just-in-time policy, see Manage virtual machine access using the just in time policy.

Připojení pomocí výstupuConnect with PuTTY

Pokud jste nainstalovali balíček pro stažení a dříve vygenerovali soubor privátního klíče (. ppk), můžete se připojit k virtuálnímu počítači se systémem Linux pomocí výstupu.If you installed the PuTTY download package and previously generated a PuTTY private key (.ppk) file, you can connect to a Linux VM with PuTTY.

  1. Počáteční výstup.Start PuTTy.

  2. Do Azure Portal zadejte název hostitele nebo IP adresu vašeho virtuálního počítače:Fill in the host name or IP address of your VM from the Azure portal:

    Otevřít nové připojení k výstupu

  3. Vyberte kategorii > ověřováníSSH > připojení.Select the Connection > SSH > Auth category. Vyhledejte a vyberte svůj privátní klíč pro zadané datové soubory (soubor. ppk):Browse to and select your PuTTY private key (.ppk file):

    Vyberte pro ověřování privátní klíč poštovního výstupu.

  4. Kliknutím na otevřít se připojte k virtuálnímu počítači.Click Open to connect to your VM.

Další postupNext steps