Настройка ключей 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, хотя его также можно сохранить в файле.
Открытый ключ, с другой стороны, используется удаленным сервером. Он используется для шифрования информации и может быть передан кому угодно, поскольку знание открытого ключа не поможет без закрытого ключа. По тем же причинам эти ключи хранятся в файле и для их маскировки не нужны никакие специальные инструменты.
Теперь давайте перейдем к пониманию того, как работают эти клавиши и как их настроить.
Как настроить 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? Пожалуйста, расскажите нам о своем опыте в разделе комментариев.