Настройка ключей SSH для повышения безопасности вашей сети

Опубликовано: 31 Марта, 2023
Настройка ключей SSH для повышения безопасности вашей сети

Если вы какое-то время работали в ИТ-индустрии или следили за нашим сайтом, вы наверняка часто сталкивались с терминами «протокол SSH» и «ключи SSH». Итак, что же это за ключи SSH, зачем они нужны и как их настроить? Давайте получим ответы на все эти вопросы в этой статье.

SSH-протокол

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

Протокол Secure Shell (SSH) — это набор правил или методов для безопасного удаленного входа с одного компьютера на другой. Он закладывает основу для надежной аутентификации и безопасности при удаленном входе в компьютер.

Этот протокол родился из-за необходимости безопасного способа удаленного входа в систему, поскольку существующие протоколы, такие как telnet и rlogin, не были безопасными.

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

Вообще говоря, протокол SSH использует три вида аутентификации в разных точках аутентификации и передачи данных для обеспечения безопасности, а именно:

  • Симметричные ключи
  • Асимметричные ключи (общедоступные-закрытые ключи)
  • Алгоритмы хеширования

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

Очевидно, что основное использование этой аутентификации заключается в обеспечении безопасности. Его также можно использовать для автоматизации и включения единой регистрации пользователями с правами администратора.

Что такое SSH-ключи?

Теперь, когда у вас есть представление о протоколе SSH, относительно легко понять, где используются ключи SSH.

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

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

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

Как работают ключи SSH?

Закрытый ключ этой пары остается в пользовательской системе, которая используется для доступа к удаленной системе. Он также используется для расшифровки информации, отправляемой удаленной системой. Излишне говорить, что это более важный и безопасный из двух ключей, и им никогда нельзя делиться. В большинстве случаев он хранится в программном обеспечении для управления ключами SSH, хотя его также можно сохранить в файле.

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

Изображение 9958
Википедия

Теперь давайте перейдем к пониманию того, как работают эти клавиши и как их настроить.

Как настроить SSH-ключи?

Вот пошаговое руководство по настройке этих SSH-ключей на вашем компьютере.

Создайте свою пару ключей SSH

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

  • Откройте Терминал и введите ssh-keygen -t rsa. Эта команда запускает процесс генерации ключей, а затем предлагает вам выбрать место для хранения этих ключей.
  • Если вы хотите использовать местоположение по умолчанию, нажмите Enter.
  • Далее вам будет предложено ввести парольную фразу.
  • Вы можете ввести фразу или просто принять фразу по умолчанию, нажав Enter.
  • После подтверждения система автоматически сгенерирует пару ключей.

Когда вы принимаете значения по умолчанию, ваш закрытый ключ будет храниться в файле id_rsa в каталоге.ssh, а открытый ключ будет храниться в файле id_rsa.pub.

Вот еще один способ создать закрытый и открытый ключи отдельно.

Введите эту команду:

openssl genrsa -out private.pem 2048

Это сгенерирует 2048-битный закрытый ключ.

Создайте соответствующий открытый ключ с помощью этой команды:

openssl req -new -x509 -key private.pem -out cert.pem

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

Слово предостережения здесь. Никогда и никому не сообщайте свой закрытый ключ.

Импортируйте свой открытый ключ SSH

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

  • Скопируйте открытый ключ SSH.
  • Перейдите на страницу учетной записи вашего поставщика услуг и перейдите к «Импорт открытого ключа».
  • Вставьте свой ключ в поле открытого ключа учетной записи поставщика услуг<./li>
  • Дайте имя ключу в поле «Имя ключа».
  • Хотя нет необходимости давать ключу имя, это хорошая практика.
  • Наконец, нажмите кнопку «Добавить», и ключи будут добавлены в таблицу SSH.

С этим у вас все готово.

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

Наконец, проверьте, все ли работает.

  • Откройте терминал и введите свое имя пользователя SSH вместе с IP-адресом удаленной системы в формате ssh [email protected].
  • Это инициирует соединение с удаленной системой по протоколу SSH.
  • Сервер будет искать открытый ключ в таблице SSH. Он выберет открытый ключ, связанный с вашим именем пользователя, зашифрует случайное сообщение с помощью этого ключа и отправит его обратно клиенту.
  • Клиентский компьютер расшифровывает это сообщение с помощью закрытого ключа и объединяет его с идентификатором сеанса. Это объединенное сообщение шифруется и отправляется на сервер.
  • Сервер расшифровывает с помощью открытого ключа, и если сообщение совпадает, доступ предоставляется пользователю.

Это устанавливает удаленное соединение, и вы можете безопасно отправлять сообщения удаленному клиенту.

Заключительная заметка о ключах SSH

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

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

Итак, вы внедрили ключи SSH? Пожалуйста, расскажите нам о своем опыте в разделе комментариев.