Подключение к виртуальной машине 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, сделайте следующее:
На странице виртуальной машины выберите Сеть в меню слева.
На странице "Сеть" проверьте, есть ли правило, которое разрешает TCP через порт 22 из IP-адреса компьютера, который вы используете для подключения к виртуальной машине. Если правило существует, можно перейти к следующему разделу.
Если правило отсутствует, добавьте его, выбрав Добавить правило входящего порта.
В качестве службы выберите SSH в раскрывающемся списке.
При необходимости измените параметры Приоритет и Источник.
В поле Имя введите SSH.
Закончив, нажмите кнопку Добавить.
Теперь у вас должно быть правило SSH в таблице правил входящего порта.
У виртуальной машины должен быть общедоступный IP-адрес. Чтобы проверить, есть ли у виртуальной машины общедоступный IP-адрес, выберите Обзор в меню слева и найдите раздел Сеть. Если вы видите IP-адрес рядом с параметром Общедоступный IP-адрес, у виртуальной машины есть общедоступный IP-адрес.
Если у виртуальной машины нет общедоступного IP-адреса, это выглядит следующим образом:
Дополнительные сведения о добавлении общедоступного IP-адреса к существующей виртуальной машине см. в статье Связывание общедоступного IP-адреса с виртуальной машиной.
Убедитесь, что виртуальная машина работает. На вкладке "Обзор" в разделе Основные компоненты убедитесь, что виртуальная машина имеет состояние Запущена. Чтобы запустить виртуальную машину, выберите Запустить в верхней части страницы.
Если у вас возникли проблемы с подключением, вы также можете использовать портал:
- Перейдите на портал Azure, чтобы подключиться к виртуальной машине. Найдите и щелкните Виртуальные машины.
- Затем выберите виртуальную машину из списка.
- Выберите Подключиться в меню слева.
- Выберите вариант, подходящий для вашего предпочтительного способа подключения. Портал поможет вам ознакомиться с предварительными условиями для подключения.
Подключение к виртуальной машине
Если описанные выше предварительные требования соблюдены, вы можете подключаться к виртуальной машине. Откройте клиент SSH. Команда для вызова клиента SSH обычно включена в Linux, macOS и Windows. Если вы используете Windows 7 или более поздней версии, где Win32 OpenSSH не включен по умолчанию, попробуйте установить WSL или использовать Azure Cloud Shell из браузера.
Примечание.
В следующих примерах предполагается, что ключ SSH имеет формат key.pem. Если вы использовали CLI или Azure PowerShell для скачивания ключей, они могут находиться в формате id_rsa или ED25519.
SSH с новой парой ключей
Убедитесь, что открытые и закрытые ключи находятся в правильном каталоге. Как правило, это каталог
~/.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
Убедитесь, что у вас есть доступ только для чтения к закрытому ключу, выполнив следующее:
chmod 400 ~/.ssh/myKey.pem
Выполните команду 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
Проверьте возвращенный отпечаток.
Если вы еще не подключились к этой виртуальной машине, вам будет предложено проверить отпечатки узлов. Это заманчиво принять отпечаток, представленный, но это предоставляет вам потенциального человека в середине атаки. Всегда проверяйте допустимость отпечатка узлов. Вам нужно сделать это только при первом подключении из клиента. Чтобы получить отпечаток узла с помощью портала, используйте функцию "Выполнение команд", чтобы выполнить следующую команду:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Готово! Теперь вы должны быть подключены к виртуальной машине. Если вы не можете подключиться, см. руководство Устранение неполадок с подключениями SSH.
SSH с существующим открытым ключом
Выполните следующую команду в клиенте SSH: В этом примере 20.51.230.13 — это общедоступный IP-адрес виртуальной машины, а azureuser — имя пользователя, созданное при создании виртуальной машины.
ssh azureuser@20.51.230.13
Проверьте возвращенный отпечаток.
Если вы никогда не подключились к нужной виртуальной машине из текущего клиента SSH, прежде чем вам будет предложено проверить отпечатки пальцев узла. Хотя параметр по умолчанию — принять представленный отпечаток, вы подвергаетесь возможному "человеку в средней атаке". Всегда следует проверить отпечатки пальцев узла, которые необходимо выполнить только при первом подключении клиента. Чтобы получить отпечаток узла с помощью портала, используйте функцию "Выполнение команд", чтобы выполнить команду:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Готово! Теперь вы должны быть подключены к виртуальной машине. Если вы не можете подключиться, ознакомьтесь с нашим руководством по устранению неполадок.
Проверка пароля
Предупреждение
Этот тип метода проверки подлинности не является таким безопасным, как пара ключей SSH и не рекомендуется.
Выполните следующую команду в клиенте SSH: В этом примере 20.51.230.13 — это общедоступный IP-адрес виртуальной машины, а azureuser — имя пользователя, созданное при создании виртуальной машины.
ssh azureuser@20.51.230.13
Если вы забыли пароль или имя пользователя, см. раздел Сброс доступа к виртуальной машине Azure.
Проверьте возвращенный отпечаток.
Если вы никогда не подключились к нужной виртуальной машине из текущего клиента SSH, прежде чем вам будет предложено проверить отпечатки пальцев узла. Хотя параметр по умолчанию — принять представленный отпечаток, вы подвергаетесь возможному "человеку в средней атаке". Всегда следует проверить отпечатки пальцев узла, которые необходимо выполнить только при первом подключении клиента. Чтобы получить отпечаток узла с помощью портала, используйте функцию "Выполнение команд", чтобы выполнить команду:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Готово! Теперь вы должны быть подключены к виртуальной машине. Если вы не можете подключиться, см. руководство Устранение неполадок с подключениями SSH.
Следующие шаги
Сведения о переносе файлов на существующую виртуальную машину см. в статье Использование SCP для перемещения файлов на виртуальную машину и с нее.