Мы свяжемся с Вами максимально оперативно
+7 (916) 393-13-52

G-Webit

+7 (916) 393-13-52 online-заявка

Заявка на услуги

Мы свяжемся с Вами максимально оперативно

Как настроить SSH-ключи и кодовую фразу для сервера

Как настроить SSH-ключи и кодовую фразу для сервера

Введение

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

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

Сначала вам необходимо создать пару ключей:

ssh-keygen -t rsa

Шаг 2 - Установите ключи и пароль

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

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

Можете просто нажать Enter, и тогда файл будет сохранен в выбранную выше директорию по умолчанию.

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/yourdirect/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/yourdirect/.ssh/id_rsa.
Your public key has been saved in /home/yourdirect/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 yourdirect@a
The key's randomart image is:
+--[ RSA 2048]----+
| .oo. |
| . o.E |
| + . o |
| . = = . |
| = S = . |
| o + = + |
| . o + o . |
| . o |
| |
+-----------------+

Местоположение публичного ключа теперь - /home/yourdirect/.ssh/id_rsa.pub, а закрытого – /home/yourdirect/.ssh/id_rsa.

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

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

Вы можете сделать это двумя способами:

  • Либо используя команду ssh-copy-id , чтобы скопировать на сервер в authorized_keys :
ssh-copy-id user@123.23.23.23

  • Либо копируя ключи при помощи SSH:
cat ~/.ssh/id_rsa.pub | ssh user@123.23.23.23 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Вне зависимости от выбранной команды вы увидите следующее (с вашими данными):

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
user@12.34.56.78's password:
Now try logging into the machine, with "ssh 'user@12.34.56.78'", and check in:
 ~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

После этого вы можете авторизоваться как пользователь (user@12.34.56.78), и пароль не будет запрошен.


Возврат к списку