Top.Mail.Ru

Как сгенерировать SSH-ключ для доступа на сервер

Как сгенерировать SSH-ключ для доступа на сервер

Работа с удаленными серверами требует стабильного интернет-соединения и высокого уровня безопасности. Традиционные пароли постепенно уступают место более надежному методу авторизации — SSH-ключам. 

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

Почему SSH-ключи надежнее обычного пароля

Основная проблема любого пароля заключается в том, что его можно перехватить или подобрать методом простого перебора. SSH-ключи работают иначе: они представляют собой пару из длинных последовательностей символов. При этом открытый ключ хранится на сервере, а закрытый располагается локально у вас. 

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

SSH keygen в Linux и macOS

Для владельцев систем на базе Unix процесс генерации максимально прост, так как все необходимые инструменты уже встроены в систему. Вам не потребуется устанавливать дополнительное программное обеспечение.

Сперва откройте терминал и введите команду:

ssh-keygen -t rsa

После нажатия клавиши Enter система предложит выбрать путь для сохранения файла. Если у вас нет специфических задач, лучше оставить всё по умолчанию (обычно это папка ~/.ssh/id_rsa), просто еще раз нажав Enter.

Снимок экрана 20260115 172242

Снимок экрана 20260115 172242

Затем программа предложит установить passphrase — это своего рода «пароль для ключа». Если вы хотите обеспечить максимальную защиту, введите кодовую фразу. Однако этот шаг можно пропустить, дважды нажав Enter, если вы предпочитаете автоматический вход без лишних запросов.

Когда процесс завершится, на экране появится графическое изображение (randomart) и информация о том, где сохранены ваши ключи. Ваш публичный ключ находится в файле с расширением .pub. Чтобы увидеть его содержимое и скопировать его, выполните команду:

cat ~/.ssh/id_rsa.pub

Полученную строку нужно скопировать целиком и вставить в панель управления вашим сервером. После того как ключ будет добавлен в настройки, вы сможете подключаться к серверу командой ssh root@[IP-адрес_сервера], и система узнает вас автоматически.

Инструкция для пользователей Windows

В ОС Windows ситуация обстоит немного иначе. Хотя современные версии системы уже поддерживают OpenSSH в консоли, многие профессионалы по-прежнему предпочитают проверенную временем программу — PuTTY. Для генерации ключей нам понадобится вспомогательная утилита из этого пакета под названием PuTTYgen.

Запустив программу, убедитесь, что в нижней части окна выбран тип ключа RSA и установлена длина 2048 бит. Нажмите кнопку Generate.

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

После завершения генерации обязательно сделайте следующее:

  1. Нажмите Save public key и сохраните открытый ключ.
  2. Нажмите Save private key, чтобы сохранить закрытый ключ (файл в формате .ppk). Берегите его: если этот файл попадет к третьим лицам, они смогут получить доступ к вашему серверу.
  3. Скопируйте текст из верхнего поля окна PuTTYgen — это именно тот код, который нужно добавить в настройки вашего сервера.

Что в итоге

Настройка доступа по SSH-ключам — это тот случай, когда безопасность идет рука об руку с удобством. Потратив всего пару минут на генерацию ключа один раз, вы защищаете свои данные от большинства автоматизированных атак и избавляете себя от рутины с вводом паролей.

Независимо от того, какую операционную систему вы используете, принцип остается неизменным: ваш закрытый ключ должен храниться в секрете, а открытый — помогать серверу узнавать «своего» пользователя.