Skip to content

Создание RSA ключей

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

Я считаю что это просто, удобно и сильно повышает безопасность удаленного хоста.

Что для этого нужно?

1. Создание пары специально сгенерированных криптографических ключей: открытый и закрытый.

2. SSH-клиент Putty для удаленного доступа к серверу, или WinSCP – для передачи файлов на сервер, Pageant – SSH-агент для аутентификации, Puttygen – генератор RSA/DSA ключей.

В своей статье я подробно рассмотрю создание ключей для Linux (CentOS). Для FreeBSD все делаем по аналогии, за небольшими исключениями, например команда на перезагрузку службы sshd выглядит так

:

server# /etc/rc.d/sshd restart

Итак приступаем:

1. Переходим в директорию SSH:

[root@centos ~]# cd  .ssh/

2. Создаем ключи:

[root@centos .ssh]# ssh-keygen  -t  rsa

Далее нам предлагают ответить на несколько вопросов:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
(по умолчанию ключи создаются в папке .ssh/)(здесь жмем ENTER, если вы не хотите сохранить их в другом месте)
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:
8c:6a:00:aa:78:ad:fb:70:d5:8c:d9:b8:6a:da:a4:f5 root@centos

Ключ готов и сохранен в директории .ssh/

3. Копируем содержимое открытого ключа в новый, создаваемый файл – authorized_keys:

[root@centos .ssh]# cat  id_rsa.pub  >>  authorized_keys

4. Выставляем права на директорию .ssh/, и все что в ней находится:

[root@server-dhcp .ssh]# chmod -R 600 *
[root@server-dhcp .ssh]# chmod 700 ~/.ssh/

5. Теперь с нашего сервера из папки .ssh/ забираем с помощью WinSCP или любого другого ftp-клиента, на компьютер с которого будет производиться удаленный доступ,  закрытый ключ – id_rsa.

6. Далее нам необходимо преобразовать наш закрытый ключ, в ключ поддерживаемый Putty. Делаем это с помощью Puttygen.

1

Импортируем ключ

2

Вводим парольную фразу

3

Сохраняем наш новый ключ

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

[root@centos ~]#vi  /etc/ssh/sshd_config

Далее находим в нем следующие строки , и указываем такие значения (если файл закомментирован, то раскомментируем его):

PermitRootLogin yes  (Если будете заходить на сервер под учетной записью root)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile    .ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
UsePAM no

8. Сохраняем изменения и перезапускаем службу sshd.

[root@centos ~]#service sshd restart

9. Далее открываем Pageant, и добавляем в него наш новый ключ сделанный ранее в Puttygen. В процессе добавления Pageant спросить нас парольную фразу.

10. Заходим через Putty или WinSCP на наш сервер. Если все сделали правильно, достаточно ввести только имя пользователя.


Ссылки:

Здесь можно почитать о том как сделать DSA ключи.

Еще немного информации о DSA/RSA.

Read more from FreeBSD, Linux

Share your thoughts, post a comment.

Есть что сказать? Оставьте Ваш комментарий!
  1. (required)
  2. (valid email required)
  3. (required)
  4. Отправить
  5. Captcha
 

cforms contact form by delicious:days