Azure connect to linux

Connect to a Linux VM

When hosting a Linux virtual machine on Azure, the most common method for accessing that VM is through the Secure Shell Protocol (SSH). Any standard SSH client commonly found in Linux and Windows allows you to connect. You can also use Azure Cloud Shell from any browser.

This document describes how to connect, via SSH, to a VM that has a public IP. If you need to connect to a VM without a public IP, see Azure Bastion Service.

Prerequisites

  • You need an SSH key pair. If you don’t already have one, Azure creates a key pair during the deployment process. If you need help with creating one manually, see Create and use an SSH public-private key pair for Linux VMs in Azure.
  • You need an existing Network Security Group (NSG). Most VMs have an NSG by default, but if you don’t already have one you can create one and attach it manually. For more information, see Create, change, or delete a network security group.
  • To connect to a Linux VM, you need the appropriate port open. Typically SSH uses port 22. The following instructions assume port 22 but the process is the same for other port numbers. You can validate an appropriate port is open for SSH using the troubleshooter or by checking manually in your VM settings. To check if port 22 is open:
    1. On the page for the VM, select Networking from the left menu.
    2. On the Networking page, check to see if there’s a rule that allows TCP on port 22 from the IP address of the computer you’re using to connect to the VM. If the rule exists, you can move to the next section. Screenshot showing how to check to see if there
    3. If there isn’t a rule, add one by selecting Add inbound port rule.
    4. For Service, select SSH from the dropdown. Screenshot showing where to choose S S H when creating a new N S G rule.
    5. Edit Priority and Source if necessary
    6. For Name, type SSH.
    7. When you’re done, select Add.
    8. You should now have an SSH rule in the table of inbound port rules.
  • Your VM must have a public IP address. To check if your VM has a public IP address, select Overview from the left menu and look at the Networking section. If you see an IP address next to Public IP address, then your VM has a public IP If your VM doesn’t have a public IP Address, it looks like this: Screenshot of how the networking section looks when you donTo learn more about adding a public IP address to an existing VM, see Associate a public IP address to a virtual machine
  • Verify your VM is running. On the Overview tab, in the Essentials section, verify the status of the VM is Running. To start the VM, select Start at the top of the page. Screenshot showing how to check to make sure your virtual machine is in the running state.
Читайте также:  Чем клонировать разделы linux

If you’re having trouble connecting, you can also use portal:

  1. Go to the Azure portal to connect to a VM. Search for and select Virtual machines.
  2. Select the virtual machine from the list.
  3. Select Connect from the left menu.
  4. Select the option that fits with your preferred way of connecting. The portal helps walk you through the prerequisites for connecting.

Connect to the VM

Once the above prerequisites are met, you’re ready to connect to your VM. Open your SSH client of choice. The SSH client command is typically included in Linux, macOS, and Windows. If you’re using Windows 7 or older, where Win32 OpenSSH isn’t included by default, consider installing WSL or using Azure Cloud Shell from the browser.

The following examples assume the SSH key is in the key.pem format. If you used CLI or Azure PowerShell to download your keys, they may be in the id_rsa format.

SSH with a new key pair

  1. Ensure your public and private keys are in the correct directory. The directory is usually ~/.ssh . If you generated keys manually or generated them with the CLI, then the keys are probably already there. However, if you downloaded them in pem format from the Azure portal, you may need to move them to the right location. Moving the keys is done with the following syntax: mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION For example, if the key is in the Downloads folder, and myKey.pem is the name of your SSH key, type:

Note If you’re using WSL, local files are found in the mnt/c/ directory. Accordingly, the path to the downloads folder and SSH key would be /mnt/c/Users//Downloads/myKey.pem

ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13 
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '' 

SSH With existing public key

  1. Run the following command in your SSH client. In this example, 20.51.230.13 is the public IP Address of your VM and azureuser is the username you created when you created the VM.
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '' 

Password authentication

This type of authentication method is not as secure as an SSH key pair and is not recommended.

  1. Run the following command in your SSH client. In this example, 20.51.230.13 is the public IP Address of your VM and azureuser is the username you created when you created the VM.
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '' 

SSH with a new key pair

  1. Locate your private SSH Key
  2. Run the SSH command with the following syntax: ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP For example, if your azureuser is the username you created and 20.51.230.13 is the public IP address of your VM, type:
ssh -i .\Downloads\myKey.pem azureuser@20.51.230.13 
Invoke-AzVMRunCommand -ResourceGroupName 'myResourceGroup' -VMName 'myVM' -CommandId 'RunPowerShellScript' -ScriptString 'ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk ''' 

Password authentication

This type of authentication method is not as secure and is not our recommended way to connect.

  1. Run the following command in your SSH client, where 20.51.230.13 is the public IP Address of your VM and azureuser is the username you created when you created the VM.
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '' 

Next steps

Learn how to transfer files to an existing VM, see Use SCP to move files to and from a VM.

Читайте также:  Change default browser linux

Feedback

Submit and view feedback for

Источник

Как использовать ключи SSH с Windows в Azure

Эта статья предназначена для пользователей Windows, желающих создать и использовать ключи Secure Shell (SSH) для подключения к виртуальным машинам Linux в Azure. Вы также можете создать и сохранить ключи SSH на портале Azure, они будут использоваться при создании виртуальных машин на портале.

Общие сведения о SSH и ключах

SSH — это протокол зашифрованного подключения, позволяющий безопасно входить в систему через незащищенные соединения. SSH — это протокол подключения по умолчанию для виртуальных машин Linux, размещенных в Azure. Хотя протокол SSH и обеспечивает зашифрованное подключение, при использовании паролей с SSH виртуальные машины все равно не защищены от атак методом подбора. Мы рекомендуем подключаться к виртуальной машине по SSH с помощью пары «открытый ключ — закрытый ключ», также известных как ключи SSH.

Пара из открытого и закрытого ключей аналогична запиранию двери. Замок общедоступен, любой человек с подходящим ключом может открыть дверь. Ключ является закрытым и предоставляется только доверенным людям, так как его можно использовать для открытия двери.

  • Открытый ключ размещается на виртуальной машине Linux при ее создании.
  • Закрытый ключ остается в локальной системе. Его нужно защищать Не делитесь им.

При подключении к виртуальной машине Linux она проверяет SSH-клиент, чтобы убедиться, что у него есть правильный закрытый ключ. Если у клиента есть закрытый ключ, он получает доступ к виртуальной машине.

В зависимости от политик безопасности организации вы можете повторно использовать отдельную пару ключей для доступа к нескольким виртуальным машинам и службам Azure. Для каждой виртуальной машины не требуется отдельная пара ключей.

Открытый ключ можно предоставить любому пользователю, но только вы (или ваша локальная инфраструктура безопасности) должны иметь доступ к вашему закрытому ключу.

Поддерживаемые форматы ключей SSH

В настоящее время платформа Azure поддерживает пары из открытого и закрытого ключей SSH-2 RSA длиной не менее 2048 битов. Другие форматы ключей, например ED25519 и ECDSA, не поддерживаются.

SSH-клиенты

Последние версии Windows 10 содержат команды клиента OpenSSH для создания и использования ключей SSH и установления SSH-подключений из PowerShell или командной строки.

Можно также использовать Bash в Azure Cloud Shell для подключения к виртуальной машине. Cloud Shell можно использовать в веб-браузере, на портале Azure или в качестве терминала в Visual Studio Code с помощью расширения учетной записи Azure.

Вы также можете установить подсистему Windows для Linux, чтобы подключиться к виртуальной машине по протоколу SSH и использовать другие собственные средства Linux в оболочке Bash.

Создание пары ключей SSH

Для создания ключей SSH для повторного использования и управления ими проще всего использовать портал.

Вы также можете создать пары ключей с помощью Azure CLI и команды az sshkey create, как описано в статье Создание и хранение ключей SSH.

Читайте также:  Linux cmake include directory

Чтобы создать пару ключей SSH на локальном компьютере с помощью ssh-keygen команды PowerShell или командной строки, введите следующую команду:

ssh-keygen -m PEM -t rsa -b 2048 

Введите имя файла или используйте имя по умолчанию, указанное в скобках (например, C:\Users\username/.ssh/id_rsa ). Введите парольную фразу для файла или оставьте парольную фразу пустой, если вы не хотите использовать парольную фразу.

Создание виртуальной машины с помощью собственного ключа

Чтобы создать виртуальную машину Linux, которая использует ключи SSH для аутентификации, укажите свой открытый ключ SSH при создании виртуальной машины.

В Azure CLI вы указываете путь и имя файла для открытого ключа с помощью az vm create и параметра —ssh-key-value .

az vm create \ --resource-group myResourceGroup \ --name myVM \ --image UbuntuLTS\ --admin-username azureuser \ --ssh-key-value ~/.ssh/id_rsa.pub 

В PowerShell используйте New-AzVM и добавьте ключ SSH в конфигурацию виртуальной машины с помощью `. Например, изучите Краткое руководство. Создание виртуальной машины Linux в Azure с помощью PowerShell.

Если вы выполняете много развертываний с помощью портала, может потребоваться отправить открытый ключ в Azure, где его можно легко выбрать при создании виртуальной машины на портале. Дополнительные сведения см. в статье Отправка ключа SSH.

Подключение к виртуальной машине

С помощью открытого ключа, развернутого на виртуальной машине Azure, и закрытого ключа в локальной системе установите SSH-подключение к виртуальной машине, используя ее IP-адрес или DNS-имя. Замените azureuser и 10.111.12.123 в приведенной команде, указав имя администратора, IP-адрес (или полное доменное имя) и путь к закрытому ключу:

ssh -i ~/.ssh/id_rsa azureuser@10.111.12.123 

Если вы никогда не подключались к этой виртуальной машине, вам будет предложено проверить отпечаток узла. Это заманчиво принять отпечаток пальца, однако, это подвергает вас возможному человеку в середине атаки. Всегда проверяйте допустимость отпечатка узлов. Вам нужно сделать это только при первом подключении из клиента. Чтобы получить отпечаток узла на портале, используйте команду Выполнить со следующей командой: ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk » .

Снимок экрана: использование Выполнения команд для проверки отпечатка узла.

Чтобы выполнить команду с помощью CLI, используйте команду az vm run-command invoke .

Если при создании пары ключей вы настроили парольную фразу, введите ее при появлении запроса.

Если виртуальная машина использует политику доступа JIT, запросите доступ, прежде чем подключиться к виртуальной машине. Дополнительные сведения о политике JIT см. в статье Управление доступом к виртуальным машинам с помощью JIT-доступа.

Дальнейшие действия

  • Сведения о ключах SSH на портале Azure, используемых при создании виртуальных машин, см. в разделе Создание и хранение ключей SSH на портале Azure.
  • Сведения о ключах SSH в Azure CLI, используемых при создании виртуальных машин, см. в разделе Создание и хранение ключей SSH с помощью Azure CLI.
  • Подробные инструкции, параметры и дополнительные примеры работы с ключами SSH приведены в статье Подробные инструкции: создание ключей SSH для аутентификации на виртуальной машине Linux в Azure и управление этими ключами.
  • Если при подключении к виртуальным машинам Linux по протоколу SSH возникают трудности, см. статью Troubleshoot SSH connections to an Azure Linux VM that fails, errors out, or is refused (Устранение неполадок с ошибками, сбоем или отклонением SSH-подключения к виртуальной машине Azure Linux).

Источник

Оцените статью
Adblock
detector