Управление аутентификацией виртуальной машины Linux в Microsoft Azure
Microsoft Azure поддерживает несколько дистрибутивов Linux, и Linux является первоклассным гражданином в мире Azure. При подготовке новой виртуальной машины Linux у нас есть несколько способов аутентификации только что созданной виртуальной машины Linux. Мы можем использовать пароли, ключи SSH и Azure AD.
Использование традиционного метода ввода пароля, особенно при использовании виртуальной машины с общедоступным IP-адресом, может подвергнуть виртуальную машину потенциальной атаке грубой силы. с другой стороны, использование ключей SSH для аутентификации помогает снизить такой риск, поскольку исключает использование паролей для входа в систему.
В этой статье мы настроим виртуальную машину Linux для использования аутентификации по паролю и ключам SSH, а затем перейдем от пароля к ключам SSH, чтобы повысить вашу безопасность.
Получение инструментов
Прежде чем опробовать несколько типов аутентификации, доступных для виртуальной машины Linux, мы должны убедиться, что у нас есть все инструменты, готовые к работе на вашем рабочем столе. Для этой статьи это довольно просто: нам нужно скачать и установить отсюда.
Процесс установки прост, и мы будем использовать его для подключения к виртуальной машине Linux, а также для создания ключей SSH, необходимых для аутентификации SSH.
По умолчанию PuTTY будет установлен в , и мы будем использовать в основном для подключения к нашим виртуальным машинам и для генерации SSH-ключей при необходимости.
Использование аутентификации по паролю
При подготовке новой виртуальной машины с помощью портала Microsoft Azure в первом разделе мастера мы указываем пароль для типа аутентификации, а затем определяем имя пользователя и пароль.
Оставьте параметры по умолчанию (возможно, измените виртуальную сеть на шаге 3: Параметры) при завершении работы мастера для подготовки новой виртуальной машины. Настройки по умолчанию назначат виртуальной машине общедоступный IP-адрес, и в настоящее время мы будем использовать его для удаленного подключения.
После того, как виртуальная машина подготовлена, мы можем щелкнуть ее и на странице «Обзор» нажать «Подключить», и в новом лезвии будет отображаться вся информация, необходимая для подключения к нашей новой виртуальной машине Linux на вкладке SSH.
Поскольку мы используем Windows 10 на нашем рабочем столе, мы будем использовать для подключения к новой виртуальной машине Linux. Откройте
Как только вы подключитесь к машине, укажите имя пользователя и/или пароль, которые мы определили во время подготовки виртуальной машины, и у нас будет доступ к консоли.
После входа в виртуальную машину Linux мы можем изменить пароль , используя sudo passwd root и указав новый пароль, как показано на изображении ниже.
Использование аутентификации с открытым ключом SSH
Первым шагом является создание пары асимметричных ключей для использования с аутентификацией SSH.
Мы собираемся использовать для создания пары ключей. Запустите файл puttygen.exe. При создании ключа обязательно наведите указатель мыши на пустую область мастера, и это создаст некоторую случайность, которая будет использоваться при создании новой пары ключей.
будет отображаться, и мы собираемся использовать эту информацию во время подготовки виртуальной машины. Следующим шагом является определение и, что не менее важно, сохранение обоих ключей в безопасном месте. Мы можем восстановить это представление в любое время, загрузив любой предыдущий закрытый ключ и предоставив пароль.
Теперь, когда у нас есть открытый ключ, мы создадим новую виртуальную машину Linux и определим имя пользователя (например, «batman»). Выберите открытый ключ SSH, вставьте и продолжите подготовку виртуальной машины, используя значения по умолчанию.
Примечание. У нас есть несколько вариантов создания пары ключей. Например, с помощью Azure CLI мы можем сгенерировать пару ключей SSH как часть подготовки виртуальной машины.
Чтобы подключиться с помощью SSH-ключей, нам нужно будет настроить с нашим закрытым ключом, который является аналогом , который мы вставили во время предоставления виртуальной машины Linux. Разверните Connection, SSH, Auth и выберите файл .
При первом подключении пароль предназначен для закрытого ключа, который мы определили во время генерации пары ключей. Обратите внимание, что строка является полем комментария ключа в процессе генерации новой пары ключей.
Если мы проверим файл author_keys, мы увидим открытый ключ, который мы определили во время предоставления виртуальной машины. Мы видим, что содержимое файла открытого ключа (файл блокнота на нашем рабочем столе) совпадает с содержимым виртуальной машины Linux.
Переключение с пароля на ключи SSH
Совершенно очевидно, что аутентификация с помощью SSH-ключей более безопасна, чем просто пароли, и мы проходим процесс перехода от виртуальной машины, настроенной с паролем, к использованию SSH-ключей.
Первый шаг — заполнить .ssh/authorized_keys, и простой способ сделать это — использовать следующую команду echo «ssh-rsa <однострочный открытый ключ>» >> ~/.ssh/authorized_keys. Если папка или файл не существуют, мы должны их создать.
Еще одним важным моментом является то, что файл и папка должны иметь соответствующие разрешения (последняя команда ls -la показывает это подробно).
Наш следующий шаг — попытаться войти в систему с помощью ключей SSH, это та же процедура, что и в предыдущем разделе. Если это сработает, мы в хорошей форме, чтобы запретить аутентификацию по паролю.
Мы собираемся отредактировать файл /etc/ssh/sshd_config и изменить значение с PasswordAuthentication на no, как показано на изображении ниже. После этого нам просто нужно перезапустить службу ssh, выполнив следующую команду: sudo systemctl restart ssh
Чтобы протестировать наше решение, мы можем попробовать войти в систему, используя пароли, которые раньше работали. Однако в это время мы должны получить ошибку, подобную этой.
Ваша виртуальная машина Linux готова!
Поздравляем! Вы не только успешно настроили виртуальную машину Linux в Microsoft Azure, но и повысили свою безопасность с помощью SSH-ключей.