✗ Основы Linux: как создавать и устанавливать SSH-ключи в шелле ✗

Принципы работы SSH обеспечивают безопасный способ входа на сервер с SSH в отличие от простой зависимости от пароля.

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

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

После согласования двух ключей система разблокируется без какой-либо зависимости от пароля.

Безопасность может быть более гибко защищена брандмауэром, защищая закрытый ключ парольной фразой.

Установка SSH-ключей в Linux — пошаговое руководство

Ниже приведено пошаговое руководство, в котором подробно описывается процесс установки SSH-ключей на сервере Linux:

Шаг первый Создание пары ключей RSA

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

Пользователям необходимо использовать следующую команду:

ssh-keygen -o -b 4096 -t rsa

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

Параметр -o указывает ssh-keygen сохранять закрытый ключ в новом формате OpenSSH вместо старого (и более совместимого формата PEM).

Настоятельно рекомендуется использовать опцию -o, поскольку новый формат OpenSSH имеет повышенную устойчивость к взлому пароля.

Если опция -o не работает на вашем сервере (она была введена в 2014 году), или вам нужен секретный ключ в старом формате PEM, используйте команду ‘ssh-keygen -b 4096 -t rsa’.

Параметр -b команды ssh-keygen используется для установки длины ключа до 4096 бит вместо 1024 бит по соображениям безопасности.

При выполнении основной команды Keygen пользователи должны пройти следующие шаги, ответив на следующие подсказки:

Enter the file where you wish to save the key (/home/demo/.ssh/id_rsa)

Пользователям необходимо нажать ENTER, чтобы сохранить файл в домашней папке пользователя

 Enter passphrase 

Если в качестве администратора вы хотите назначить кодовую фразу, вы можете сделать это при появлении запроса (в соответствии с вопросом выше), хотя это необязательно, и вы можете оставить поле пустым, если вы не хотите назначать кодовую фразу.

Тем не менее, уместно отметить, что ключевое слово в уникальной кодовой фразе предлагает множество преимуществ.

Ниже приведен общий обзор процесса генерации ключей:

# ssh-keygen -b 4096 -o -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:KBZP/guc7lND8I239zKv8PRziF/5jnA6N0nEocCDlLA root@server1
The key's randomart image is:
+---[RSA 2048]----+
| .o.+ |
| ..o + . |
| . Eo o o o . |
| = .+ o . o |
| o +.S. . . |
| . o oo . . . .|
| +.....o+.+.|
| ... . +==Boo|
| .o.. +O==o|
+----[SHA256]-----+

Теперь открытый ключ можно отнести к ссылке ~ /.ssh/id_rsa.pub

Теперь закрытый ключ (идентификации) можно отнести к ссылке /home/demo/.ssh/id_rsa 3

Шаг 3: копирование открытого ключа

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

Пользователи смогут скопировать открытый ключ в файл authorized_keys нового компьютера с помощью команды ssh-copy-id.

Ниже приведен предписанный формат для ввода имени пользователя и IP-адреса:

ssh-copy-id user@192.168.0.100 

В качестве альтернативы, пользователи могут вставлять ключи с помощью SSH (согласно данной команде):

cat ~/.ssh/id_rsa.pub | ssh user@192.168.0.100 "cat >> ~/.ssh/authorized_keys"

Шаг четвертый (этот шаг не является обязательным) -Удаление пароля для облегчения входа пользователя root

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

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

sudo nano /etc/ssh/sshd_config

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

Эта команда поможет вам это реализовать:

PermitRootLogin without-password 

Последним шагом в этом процессе остается реализация изменений с помощью следующей команды:

reload ssh 

Вышеописанное действие завершает процесс установки ключей SSH на сервере Linux.

Преобразование открытого ключа OpenSSH в новый формат

Самые старые ключи OpenSSH хранятся в формате PEM.

Хотя этот формат совместим со многими старыми приложениями, у него есть недостаток, что пароль секретного ключа, защищенного паролем, может подвергаться атакам с применением брутфорса.

В этой главе объясняется, как преобразовать закрытый ключ в формате PEM в один из новых форматов OpenSSH.

ssh-keygen -p -o -f /root/.ssh/id_rsa

Путь /root/.ssh/id_rsa — это путь старого файла закрытого ключа.

cryptoparty

Cryptography is typically bypassed, not penetrated.

✗ Основы Linux: как создавать и устанавливать SSH-ключи в шелле ✗: 2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40