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

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

В этом документе описывается подключение по протоколу SSH к виртуальной машине с общедоступным IP-адресом. Если вам нужно подключиться к виртуальной машине без общедоступного IP-адреса, см. статью Служба "Бастион Azure".

Необходимые компоненты

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

  • Выберите существующую группу безопасности сети (NSG). Большинство виртуальных машин по умолчанию имеют NSG, но если у вас еще нет одного, его можно создать и подключить вручную. Для получения дополнительной информации см. раздел Создание, изменение и удаление группы безопасности сети.

  • Чтобы подключиться к виртуальной машине Linux, необходимо открыть соответствующий порт. Обычно SSH использует порт 22. В следующих инструкциях указан порт 22, но если вы используете другие номера, действия будут аналогичными. Вы можете проверить, открыт ли соответствующий порт для SSH, с помощью средства устранения неполадок или вручную в параметрах виртуальной машины. Чтобы проверить, открыт ли порт 22, сделайте следующее:

    1. На странице виртуальной машины выберите Сеть в меню слева.

    2. На странице "Сеть" проверка, чтобы узнать, есть ли правило, которое разрешает TCP через порт 22 из IP-адреса компьютера, который вы используете для подключения к виртуальной машине. Если правило существует, можно перейти к следующему разделу.

      Screenshot showing how to check to see if there's already a rule allowing S S H connections.

    3. Если правило отсутствует, добавьте его, выбрав Добавить правило входящего порта.

    4. В качестве службы выберите SSH в раскрывающемся списке.

      Screenshot showing where to choose S S H when creating a new N S G rule.

    5. При необходимости измените параметры Приоритет и Источник.

    6. В поле Имя введите SSH.

    7. Закончив, нажмите кнопку Добавить.

    8. Теперь у вас должно быть правило SSH в таблице правил входящего порта.

  • У виртуальной машины должен быть общедоступный IP-адрес. Чтобы проверить, есть ли у виртуальной машины общедоступный IP-адрес, выберите Обзор в меню слева и найдите раздел Сеть. Если вы видите IP-адрес рядом с параметром Общедоступный IP-адрес, у виртуальной машины есть общедоступный IP-адрес.

    Если у виртуальной машины нет общедоступного IP-адреса, это выглядит следующим образом:

    Screenshot of how the networking section looks when you don't have a public I P.

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

  • Убедитесь, что виртуальная машина работает. На вкладке "Обзор" в разделе Основные компоненты убедитесь, что виртуальная машина имеет состояние Запущена. Чтобы запустить виртуальную машину, выберите Запустить в верхней части страницы.

    Screenshot showing how to check to make sure your virtual machine is in the running state.

Если у вас возникли проблемы с подключением, вы также можете использовать портал:

  1. Перейдите на портал Azure, чтобы подключиться к виртуальной машине. Найдите и щелкните Виртуальные машины.
  2. Затем выберите виртуальную машину из списка.
  3. Выберите Подключиться в меню слева.
  4. Выберите вариант, подходящий для вашего предпочтительного способа подключения. Портал поможет вам ознакомиться с предварительными условиями для подключения.

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

Если описанные выше предварительные требования соблюдены, вы можете подключаться к виртуальной машине. Откройте клиент SSH. Команда для вызова клиента SSH обычно включена в Linux, macOS и Windows. Если вы используете Windows 7 или более поздней версии, где Win32 OpenSSH не включен по умолчанию, попробуйте установить WSL или использовать Azure Cloud Shell из браузера.

Примечание.

В следующих примерах предполагается, что ключ SSH имеет формат key.pem. Если вы использовали CLI или Azure PowerShell для скачивания ключей, они могут иметь формат id_rsa.

SSH с новой парой ключей

  1. Убедитесь, что открытые и закрытые ключи находятся в правильном каталоге. Как правило, это каталог ~/.ssh.

    Если вы создали ключи вручную или создали их с помощью интерфейса командной строки, с большой вероятностью ключи уже находятся в нем. Но если вы скачали их в формате PEM с портала Azure, может потребоваться переместить их в нужное расположение. Перемещение ключей выполняется со следующим синтаксисом: mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION

    Например, если ключ находится в папке Downloads и myKey.pem является именем ключа SSH, введите:

    mv /Downloads/myKey.pem ~/.ssh
    

    Примечание.

    Если вы используете WSL, локальные файлы находятся в каталоге mnt/c/. Соответственно, путь к папке скачивания и ключу SSH будет выглядеть так: /mnt/c/Users/{USERNAME}/Downloads/myKey.pem

  2. Убедитесь, что у вас есть доступ только для чтения к закрытому ключу, выполнив следующее:

    chmod 400 ~/.ssh/myKey.pem
    
  3. Выполните команду SSH со следующим синтаксисом: ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP

    Например, если вы создали имя пользователя azureuser, а 20.51.230.13 является общедоступным IP-адресом виртуальной машины, введите следующее:

    ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
    
  4. Проверьте возвращенный отпечаток.

    Если вы еще не подключились к этой виртуальной машине, вам будет предложено проверить отпечатки узлов. Это заманчиво принять отпечаток, представленный, но это предоставляет вам потенциального человека в середине атаки. Всегда проверяйте допустимость отпечатка узлов. Вам нужно сделать это только при первом подключении из клиента. Чтобы получить отпечаток узла с помощью портала, используйте функцию "Выполнение команд", чтобы выполнить следующую команду:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  5. Готово! Теперь вы должны быть подключены к виртуальной машине. Если вы не можете подключиться, см. руководство Устранение неполадок с подключениями SSH.

SSH с существующим открытым ключом

  1. Выполните следующую команду в клиенте SSH: В этом примере 20.51.230.13 — это общедоступный IP-адрес виртуальной машины, а azureuser — имя пользователя, созданное при создании виртуальной машины.

    ssh azureuser@20.51.230.13
    
  2. Проверьте возвращенный отпечаток.

    Если вы никогда не подключились к нужной виртуальной машине из текущего клиента SSH, прежде чем вам будет предложено проверить отпечатки пальцев узла. Хотя параметр по умолчанию — принять представленный отпечаток, вы подвергаетесь возможному "человеку в средней атаке". Всегда следует проверить отпечатки пальцев узла, которые необходимо выполнить только при первом подключении клиента. Чтобы получить отпечаток узла с помощью портала, используйте функцию "Выполнение команд", чтобы выполнить команду:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. Готово! Теперь вы должны быть подключены к виртуальной машине. Если вы не можете подключиться, ознакомьтесь с нашим руководством по устранению неполадок.

Проверка пароля

Предупреждение

Этот тип метода проверки подлинности не является таким безопасным, как пара ключей SSH и не рекомендуется.

  1. Выполните следующую команду в клиенте SSH: В этом примере 20.51.230.13 — это общедоступный IP-адрес виртуальной машины, а azureuser — имя пользователя, созданное при создании виртуальной машины.

    ssh azureuser@20.51.230.13
    

    Если вы забыли пароль или имя пользователя, см. раздел Сброс доступа к виртуальной машине Azure.

  2. Проверьте возвращенный отпечаток.

    Если вы никогда не подключились к нужной виртуальной машине из текущего клиента SSH, прежде чем вам будет предложено проверить отпечатки пальцев узла. Хотя параметр по умолчанию — принять представленный отпечаток, вы подвергаетесь возможному "человеку в средней атаке". Всегда следует проверить отпечатки пальцев узла, которые необходимо выполнить только при первом подключении клиента. Чтобы получить отпечаток узла с помощью портала, используйте функцию "Выполнение команд", чтобы выполнить команду:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. Готово! Теперь вы должны быть подключены к виртуальной машине. Если вы не можете подключиться, см. руководство Устранение неполадок с подключениями SSH.

Следующие шаги

Сведения о переносе файлов на существующую виртуальную машину см. в статье Использование SCP для перемещения файлов на виртуальную машину и с нее.