Создайте и настройте ключ SSH в Ubuntu

Создайте и настройте ключ SSH в Ubuntu Безопасность

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

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

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

Создание и настройка ключа SSH в Ubuntu: пошаговое руководство

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

Шаг 1: Создайте пару ключей SSH

Ключи SSH генерируются быстро в Ubuntu: вы можете создать пару открытого/закрытого ключа в любое время прямо через терминал. Для этого запустите командную строку Ubuntu и выполните следующую команду:

ssh-keygen

При этом автоматически создается пара ключей RSA с 3072-битным шифрованием, чего более чем достаточно для большинства случаев использования. Вы также можете создать большие ключи с 4096 битами, добавив в команду параметр «-b 4096».

ssh-keygen -b 4096

После запуска команды Ubuntu сгенерирует пару ключей. Вас спросят, хотите ли вы сохранить ключи SSH в пользовательском каталоге Ubuntu (подпапка /.ssh ), и можете подтвердить этот запрос клавишей Enter. Либо введите другой путь.

Читайте также:  Учебное пособие по Кубернетесу

Создайте ключ SSH через терминал Ubuntu

Создайте ключ SSH через терминал Ubuntu

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

В обоих случаях подтвердите с помощью клавиши Enter, и вы получите индивидуальное «случайное художественное изображение» ключа SSH в качестве подтверждения успешного создания ключа :

«случайное изображение» пары ключей Ubuntu SSH

«случайное изображение» пары ключей Ubuntu SSH

Шаг 2: Перенесите открытый ключ на сервер

Следующим шагом будет передача открытого ключа в целевую систему, с которой вы позже захотите установить безопасные SSH-соединения. Для этого вам потребуется имя пользователя, которое вы используете для входа в систему, и IP-адрес или домен системы. Если вы еще не определили имя пользователя, вы можете вместо него использовать пользователя «root».

По умолчанию Ubuntu предоставляет инструмент ssh-copy-id для передачи открытого ключа SSH. Синтаксис соответствующей команды следующий:

ssh-copy-id username@ip-adresse/domain

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

Передача открытого ключа SSH через терминал Ubuntu

Передача открытого ключа SSH через терминал Ubuntu

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

Если вы установили парольную фразу для пары ключей

Ключ SSH в Ubuntu: успешная передача в целевую систему

Шаг 3: Аутентификация SSH на целевом хосте

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

ssh username@ip-adresse/domain

Если вы установили парольную фразу для пары ключей, она будет запрошена на следующем шаге. Введите назначенный пароль и, наконец, нажмите » Разблокировать «, чтобы подключиться к целевой системе.

Читайте также:  IDS против IPS: каковы различия и сходства между системами безопасности?

 

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

Ключ Ubuntu SSH: введите парольную фразу

Шаг 4. Отключите ввод пароля

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

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

sudo nano /etc/ssh/sshd_config

В файле конфигурации найдите запись » PasswordAuthentication » и установите для нее значение » no «.

Корректировки в файле конфигурации службы SSH

Корректировки в файле конфигурации службы SSH

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

sudo systemctl restart ssh

Как вручную перенести свой SSH-ключ в Ubuntu

Инструмент ssh-copy-id, описанный во втором шаге, доступен не во всех системах. В этом случае вы можете легко перенести созданный публичный ключ в целевую систему вручную.

Для этого сначала отобразите свой открытый ключ, выполнив следующую команду:

cat ~/.ssh/id_rsa.pub

Сгенерированный открытый SSH-ключ в терминале Ubuntu

Сгенерированный открытый SSH-ключ в терминале Ubuntu

Теперь скопируйте воспроизведенный ключ в файл » authorized_keys » в каталоге » ssh » на целевом хосте. Если каталог еще не существует, создайте его с помощью следующих команд:

mkdir -p ~/.ssh

Затем ключ можно передать с помощью следующей команды:

echo Schlüssel >> ~/.ssh/authorized_keys

Вместо «ключа» введите в команду ранее полученный вывод, начинающийся с «ssh-rsa».

На последнем шаге убедитесь, что все групповые и другие разрешения удалены для каталога «ssh» и файла «authorized_keys»:

chmod -R go= ~/.ssh

Оцените статью
Блог о программировании
Добавить комментарий