SSH Ключи

Теория про SSH Ключи

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

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

1. Шаг первый — создать пару ключей RSA
2. Шаг второй — сохранение ключей и парольной фразы
3. Шаг третий — скопировать публичный ключ

Шаг первый — создать пару ключей RSA про SSH ключи

Первым шагом является создание пары ключей на клиентской машине (возможно это ваш компьютер):

#ssh-keygen -t rsa
Шаг второй — сохранение ключей и парольной фразы про SSH ключи

После ввода команды генерации ключа, вы получите еще несколько вопросов:

#Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Вы можете здесь нажать Enter, сохраните файл например сюда /home/demo/.

#Enter passphrase (empty for no passphrase):

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

Весь процесс генерации ключа выглядит так:

#ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key`s randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Публичный ключ теперь находится в /home/demo/.ssh/id_rsa.pub.

Приватный ключ теперь находится в /home/demo/.ssh/id_rsa.

Шаг третий — скопировать публичный ключ про SSH ключи

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

Вы можете скопировать публичный ключ в файл authorized_keys на том сервере к которому вам нужно подключиться. В некоторых новых дистрибутивах Linux есть специальная команда которая позволяет портировать публичный ключ быстро, не редактируя файл authorized_keys. Не забудьте заменить в примере имя пользователя и IP-адрес ниже.

#ssh-copy-id user@123.45.67.89

Вот и все, ребята.