uk en ru
vps

SSH-доступ до серверу з використанням ключів (для Linux)

Виконати віддалений вхід до консолі Linux серверу можна без використання пароля. Для цього використовується спосіб SSH-аутентифікації за ключами RSA. Даний метод є більш зручним у використанні, а також більш безпечним.

У цій статті описано процедуру налаштування, якщо підключення виконується з комп'ютера з операційною системою Linux (або MacOS)

Для того щоб налаштувати даний спосіб аутентифікації, необхідно виконати наступні кроки:

  • Виконайте в консолі bash команду ssh-keygen

[user@homepc ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:UPPm+FdPbJWWVbrNNuoGpk7xnD1w8LALMvjtKhbG4qo user@homepc
The key's randomart image is:
+---[RSA 3072]----+
|        o       +|
|       . o     .+|
|      .   oo  .+.|
|      .. +  = .=.|
|    .. oSo.o oo.B|
|   . +. +.=o*..=.|
|  . o .. o+=o+  .|
|   . o  o. ....  |
|E.. . ..oo  ..   |
+----[SHA256]-----+

В результаті виконання в папці ~/.ssh будуть сформовані два файла:

  • Файл приватного ключа - id_rsa
  • Файл публічного ключа - id_rsa.pub

Увага! Файл приватного ключа повинен бути захищений від доступу сторонніх осіб. Слідкуйте, аби цей файл не був скомпрометований.

  • Виконайте команду ssh-keyscan x.x.x.x >>~/.ssh/known_hosts для того щоб зберегти або відновити відбиток ключа

Тут і далі x.x.x.x - IP адреса вашого серверу на хостингу

[user@homepc ~]$ ssh-keyscan x.x.x.x >>~/.ssh/known_hosts
# x.x.x.x:22 SSH-2.0-OpenSSH_7.4
# x.x.x.x:22 SSH-2.0-OpenSSH_7.4
# x.x.x.x:22 SSH-2.0-OpenSSH_7.4

  • Виконайте команду ssh-copy-id@x.x.x.x та введіть пароль користувача root, який ви отримали при активації серверу на хостингу

[user@homepc ~]$ ssh-copy-id root@91.238.103.8
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@91.238.103.8's password: ********

  • Якщо пароль введено правильно, процедуру налаштування завершено. Далі ви зможете підключатися до VPS серверу на хостингу без введення пароля за допомогою команди в консолі:

[user@homepc ~]$ ssh root@x.x.x.x

Для налаштування підключення SSH під ОС Windows дивіться статтю бази знань