В Ubuntu вы можете легко создать пару ключей SSH с помощью терминала. Затем вы предоставляете своему серверу открытый ключ, чтобы настроить там вариант безопасного входа. Как выглядят отдельные шаги в деталях?
Что такое SSH-ключ?
Если вы хотите использовать безопасные соединения через SSH, вы можете использовать ключи SSH для аутентификации без ввода пароля. В частности, для этого требуется пара ключей SSH, состоящая из открытого и закрытого ключа. Открытый ключ хранится в системе, к которой должно быть установлено SSH-соединение, например, на сервере. Закрытый ключ SSH, требующий специальной защиты, создается и хранится на стороне клиента и требуется для расшифровки открытого ключа SSH при установлении соединения.
Создание и настройка ключа SSH в Ubuntu: пошаговое руководство
Безопасный вход на серверы или в определенные службы без ввода пароля: использование пар ключей SSH для аутентификации чрезвычайно практично. На следующих шагах мы будем использовать Ubuntu 22.04 в качестве примера, чтобы показать вам, как генерировать SSH-ключи в Ubuntu и настраивать их для аутентификации на сервере, чтобы использовать SSH-ключи для вашего сетевого подключения.
Шаг 1: Создайте пару ключей SSH
Ключи SSH генерируются быстро в Ubuntu: вы можете создать пару открытого/закрытого ключа в любое время прямо через терминал. Для этого запустите командную строку Ubuntu и выполните следующую команду:
При этом автоматически создается пара ключей RSA с 3072-битным шифрованием, чего более чем достаточно для большинства случаев использования. Вы также можете создать большие ключи с 4096 битами, добавив в команду параметр «-b 4096».
После запуска команды Ubuntu сгенерирует пару ключей. Вас спросят, хотите ли вы сохранить ключи SSH в пользовательском каталоге Ubuntu (подпапка /.ssh ), и можете подтвердить этот запрос клавишей Enter. Либо введите другой путь.

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

«случайное изображение» пары ключей Ubuntu SSH
Шаг 2: Перенесите открытый ключ на сервер
Следующим шагом будет передача открытого ключа в целевую систему, с которой вы позже захотите установить безопасные SSH-соединения. Для этого вам потребуется имя пользователя, которое вы используете для входа в систему, и IP-адрес или домен системы. Если вы еще не определили имя пользователя, вы можете вместо него использовать пользователя «root».
По умолчанию Ubuntu предоставляет инструмент ssh-copy-id для передачи открытого ключа SSH. Синтаксис соответствующей команды следующий:
Когда вы подключаетесь к целевому хосту в первый раз, терминал выдает вам сообщение «подлинность хоста… не может быть установлена». Введите » да » и подтвердите, чтобы продолжить настройку.

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

Ключ SSH в Ubuntu: успешная передача в целевую систему
Шаг 3: Аутентификация SSH на целевом хосте
Теперь вы можете в любое время войти через SSH на устройство или сервер, у которого есть открытый ключ. Как и при передаче ключа, вам потребуется имя пользователя и IP-адрес или домен целевого хоста. Они должны быть введены соответственно для следующей команды:
ssh username@ip-adresse/domain
Если вы установили парольную фразу для пары ключей, она будет запрошена на следующем шаге. Введите назначенный пароль и, наконец, нажмите » Разблокировать «, чтобы подключиться к целевой системе.

Ключ Ubuntu SSH: введите парольную фразу
Шаг 4. Отключите ввод пароля
Если вход с помощью пары ключей SSH прошел успешно, вам больше не нужен стандартный пароль для входа. В принципе, однако, этот процесс аутентификации, конечно, все еще активен — даже для неавторизованных лиц, которые хотят получить доступ к системе, например, в форме атак с использованием грубой силы.
Чтобы обеспечить большую безопасность в этом отношении, вы можете деактивировать вход с паролем на сервере или целевом устройстве. Для этого войдите через SSH, а затем откройте файл конфигурации службы SSH :
sudo nano /etc/ssh/sshd_config
В файле конфигурации найдите запись » PasswordAuthentication » и установите для нее значение » no «.

Корректировки в файле конфигурации службы SSH
Сохраните изменения в файле конфигурации, а затем перезапустите службу SSH с помощью следующей команды:
sudo systemctl restart ssh
Как вручную перенести свой SSH-ключ в Ubuntu
Инструмент ssh-copy-id, описанный во втором шаге, доступен не во всех системах. В этом случае вы можете легко перенести созданный публичный ключ в целевую систему вручную.
Для этого сначала отобразите свой открытый ключ, выполнив следующую команду:
cat ~/.ssh/id_rsa.pub

Сгенерированный открытый SSH-ключ в терминале Ubuntu
Теперь скопируйте воспроизведенный ключ в файл » authorized_keys » в каталоге » ssh » на целевом хосте. Если каталог еще не существует, создайте его с помощью следующих команд:
mkdir -p ~/.ssh
Затем ключ можно передать с помощью следующей команды:
echo Schlüssel >> ~/.ssh/authorized_keys
Вместо «ключа» введите в команду ранее полученный вывод, начинающийся с «ssh-rsa».
На последнем шаге убедитесь, что все групповые и другие разрешения удалены для каталога «ssh» и файла «authorized_keys»:
chmod -R go= ~/.ssh








