Secure Shell (SSH) – это криптографический сетевой протокол, используемый для безопасного соединения между клиентом и сервером, и поддерживает различные механизмы аутентификации.
Двумя наиболее популярными механизмами являются аутентификация на основе паролей и аутентификация на основе открытого ключа. Использование ключей SSH более безопасно и удобно, чем традиционная аутентификация по паролю.
В этой статье объясняется, как генерировать ключи SSH в Windows с помощью PuTTYgen. Мы также покажем вам, как настроить аутентификацию на основе ключей SSH и подключаться к удаленным серверам Linux без ввода пароля.
Скачать PuTTYgen
PuTTYgen – это утилита с открытым исходным кодом, которая позволяет генерировать ключи SSH для самого популярного Windows-клиента PuTTY.
PuTTYgen доступен в виде отдельного исполняемого файла и также является частью установочного пакета PuTTY.msi. Если у вас не установлен PuTTYgen, перейдите на страницу загрузки PuTTY и загрузите установочный пакет PuTTY. Установка проста, дважды щелкните по установочному пакету и следуйте инструкциям.
Создание ключей SSH с помощью PuTTYgen
Чтобы сгенерировать пару ключей SSH в Windows с помощью PuTTYgen, выполните следующие действия:
- Запустите инструмент PuTTYgen, дважды щелкнув его файл .exe или перейдя в меню Пуск Windows → PuTTY (64-разрядная версия) → PuTTYgen.Для «Type of key to generate» оставьте значение по умолчанию RSA. «Количество бит в сгенерированном ключе» 2048 достаточно для большинства людей. Кроме того, вы можете изменить его на 4096.
- Нажмите кнопку «Generate», чтобы начать процесс создания новой пары ключей.Вам будет предложено навести курсор мыши на пустую область раздела «Key», чтобы создать случайность. При перемещении указателя зеленый индикатор выполнения будет двигаться вперед. Процесс должен занять несколько секунд.
- После завершения процесса генерации открытый ключ будет отображен в окне.При желании, если вы хотите использовать кодовую фразу, введите ее в поле «Key passphrase» и подтвердите ту же кодовую фразу в поле «Confirm passphrase». Если вы решите использовать ключевую фразу, вы получите дополнительный уровень безопасности, защищая закрытый ключ от несанкционированного использования.
Если вы зададите фразу-пароль, вам нужно будет вводить фразу-пароль каждый раз, когда используется закрытый ключ.
- Сохраните закрытый ключ, нажав кнопку «Save private key». Вы можете сохранить файл в любом каталоге, используя расширение .ppk (PuTTY Private Key), но рекомендуется сохранить его в месте, где его легко найти. Распространенным является использование описательного имени для файла закрытого ключа.При желании вы также можете сохранить открытый ключ, хотя его можно восстановить позже, загрузив закрытый ключ.
- Щелкните правой кнопкой мыши в текстовом поле с меткой «Открытый ключ для вставки в файл авторизованных ключей OpenSSH» и выберите все символы, нажав «Select all». Откройте текстовый редактор, вставьте символы и сохраните его. Убедитесь, что вы вставляете весь ключ. Рекомендуется сохранить файл в том же каталоге, в котором вы сохранили закрытый ключ, используя то же имя, что и закрытый ключ, и .txt или .pub в качестве расширения файла.Это ключ, который вы добавите на свой сервер Linux.
Скопируйте открытый ключ на ваш сервер Linux
Теперь, когда вы сгенерировали пару ключей SSH, следующий шаг – скопировать открытый ключ на сервер, которым вы хотите управлять.
Запустите программу PuTTY и войдите на удаленный сервер Linux.
Если ваш пользовательский каталог SSH не существует, создайте его с помощью команды mkdir и установите правильные разрешения:
mkdir -p ~/.ssh chmod 0700 ~/.ssh
Откройте текстовый редактор и вставьте открытый ключ, который вы скопировали на шаге 4 при создании пары ключей, в файл ~/.ssh/authorized_keys:
nano ~/.ssh/authorized_keys
Весь текст открытого ключа должен быть в одной строке с.
Запустите следующую команду chown, чтобы убедиться, что только ваш пользователь может читать и записывать ~/.ssh/authorized_keysфайл:
chmod 0600 ~/.ssh/authorized_keys
Войдите на ваш сервер, используя SSH ключи
Pageant – это аутентификационный агент PuTTY SSH, который хранит закрытые ключи в памяти. Двоичный файл Pageant является частью установочного пакета PuTTY .msi и может быть запущен с помощью меню «Пуск» Windows → PuTTY (64-разрядная версия) → Pageant.
Когда вы запускаете Pageant, он помещает значок в системный трей. Дважды щелкните значок, и откроется окно Pageant.
Чтобы загрузить ключ, нажмите кнопку «Add Key», чтобы открыть диалоговое окно нового файла. Найдите файл с закрытым ключом и нажмите «Open». Если вы не установили ключевую фразу, ключ будет загружен немедленно. В противном случае вам будет предложено ввести кодовую фразу.
Введите пароль, и Pageant загрузит закрытый ключ.
После выполнения описанных выше шагов вы сможете войти на удаленный сервер без запроса пароля.
Чтобы проверить это, откройте новый сеанс PuTTY SSH и попробуйте войти на свой сервер. PuTTY будет использовать загруженный ключ, и вы войдете на свой сервер Linux без ввода пароля.
Отключение аутентификации по паролю SSH
Чтобы добавить дополнительный уровень безопасности на ваш сервер, вы можете отключить аутентификацию по паролю для SSH.
Перед отключением аутентификации по паролю SSH убедитесь, что вы можете войти на свой сервер без пароля, и у пользователя, с которым вы входите, есть привилегии sudo.
Войдите на удаленный сервер и откройте файл конфигурации SSH /etc/ssh/sshd_config в текстовом редакторе:
sudo nano /etc/ssh/sshd_config
Найдите следующие директивы и измените их следующим образом:
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Когда вы закончите, сохраните файл и перезапустите службу SSH, набрав:
sudo systemctl restart ssh
На этом этапе аутентификация на основе пароля отключена.
Заключение
Из этой статьи вы узнали, как создать новую пару ключей SSH и настроить аутентификацию на основе ключей SSH. Вы можете добавить один и тот же ключ на несколько удаленных серверов. Мы также показали, как отключить аутентификацию по паролю SSH и добавить дополнительный уровень безопасности на ваш сервер.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию снизит риск автоматических атак.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.