База знаний
Главная страницаVDSВозможностиКонтакты
🇷🇺 Русский
🇷🇺 Русский
  • Главная страница
  • Личный кабинет
    • Активация аккаунта
    • Настройки аккаунта
      • Отключение двухфакторной авторизации
    • Оплата услуг
      • Способы оплаты
      • Автоматическая оплата банковскими картами
      • Оплата через Систему быстрых платежей
  • Работа с VDS
    • Заказ IP-адресов
    • Резервное копирование
    • Установка ОС
      • Переустановка ОС
      • Загрузка и подключение ISO
      • Шаблоны ОС
      • Образы ISO
  • Настройка VDS
    • Вход на VDS через SSH
    • Настройка VDS
      • Основные команды SSH
      • Установка ключей для SSH
      • Изменение часового пояса
      • Установка hostname
      • Веб-серверы
        • Установка Lighttpd
          • Установка Lighttpd на CentOS
      • Базы данных
        • Установка MariaDB
          • Установка MariaDB на CentOS 7
        • Установка MongoDB
          • Установка MongoDB на Ubuntu
        • Смена пароля от MySQL
        • Установка phpMyAdmin
          • Установка phpMyAdmin на CentOS 7
      • VPN и прокси-серверы
        • Установка OpenVPN-сервера
        • Установка Squid Proxy
          • Установка Squid Proxy на CentOS 7
      • RDP-сервер
        • Установка RDP-сервера
          • Установка RDP-сервера на CentOS
          • Установка RDP-сервера на Ubuntu
          • Установка RDP-сервера на Debian
    • Панели управления
      • Установка ISPmanager 5
      • Установка BrainyCP
      • Установка HestiaCP
      • Установка VestaCP
      • Установка FASTPANEL
      • Установка Webmin
  • Диагностика
    • Диагностика сети с помощью MTR
Powered by GitBook
On this page

Was this helpful?

  1. Настройка VDS
  2. Настройка VDS

Установка ключей для SSH

SSH (Secure Shell) — это защищённый протокол для доступа к инструментам администрирования сервера. Доступ к SSH осуществляется по логину и паролю. Но если Вы часто пользуетесь SSH, то каждый раз вводить логин и пароль будет крайне неудобно.

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

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

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

ssh-keygen

По умолчанию, ssh-keygen создаст пару 2048-битных ключей. Вы можете также создать и 4096-битные ключи, что более безопасно, добавив к команде флаг -b 4096.

После ввода и запуска команды Вы увидите нечто вроде:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

Нажмите ENTER для сохранения пары ключей в папку .ssh Вашей домашней директории.

Если Вы уже создавали ключи ранее, то программа попросит Вас подтвердить их перезапись:

/root/.ssh/id_rsa already exists.
Overwrite (y/n)?

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

Далее программа попросит Вас ввести кодовую фразу:

Enter passphrase (empty for no passphrase):

По желанию вы можете ввести кодовую фразу (пароль) для доступа к ключам. Это добавляет дополнительный уровень защиты, но в то же время замедляет процедуру входа, так как Вам придётся вводить эту кодовую фразу каждый раз при использовании ключей.

После того, как пара ключей будет создана, Вы увидите нечто вроде этого:

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:
a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 username@remote-host
The key's randomart image is:
+--[ RSA 2048]----+
|     ..o         |
|   E o= .        |
|    o. o         |
|        ..       |
|      ..S        |
|     o o.        |
|   =o.+.         |
|. =++..          |
|o=++.            |
+-----------------+

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

Копирование публичного ключа на сервер

Далее намн ужно скопировать полученный публичный ключ на сервер, куда Вы планируете входить с помощью этих ключей.

Для этого существует утилита ssh-copy-id, которая сделает всю работу. Если у Вас нет этой утилиты, Вы можете скопировать файлы вручную.

Для копирования ключей с помощью ssh-copy-idвведите следующую команду:

ssh-copy-id username@remote-host

Вы увидите нечто вроде этого:

The authenticity of host '1.2.3.4 (1.2.4.4)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

Это означает, что Ваш локальный компьютер пока ещё не опознаёт удалённый сервер. Это происходит при каждом первом подключении к новому удалённому серверу. Просто введите yes и нажмите ENTER.

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

username@1.2.3.4's password:

Введите пароль и нажмите ENTER. Обратите внимание на то, что при вводе Вы не будете видеть вводимый пароль на экране. Поэтому просто введите пароль и не беспокойтесь о том, что Вы его не видите.

Далее утилита подключится к удалённому серверу и скопирует на него публичный ключ. Копирование как правило производится в директорию ~/.ssh, в файл authorized_keys.

После завершения копирования Вы увидите следующее:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@1.2.3.4'"
and check to make sure that only the key(s) you wanted were added.

Подключение к серверу с помощью ключей

Теперь Вы можете подключаться к серверу с помощью созданных ключей.

Если Вы используете в качестве ОС Linux, то просто введите ssh username@remote-host и далее система сама найдёт Ваш приватный ключ и использует его для подключения.

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

Отключение входа по паролю

Для повышения безопасности Вы можете отключить вход на сервер по паролю и оставить только вход с помощью ключей.

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

Чтобы отключить доступ по паролю потребуется изменить параметр в файле конфигурации SSH-сервера.

Для этого откройте через любимый редактор (nano, mcedit, vim) файл /etc/ssh/sshd_config:

nano /etc/ssh/sshd_config

В файле найдите строку PasswordAuthentication. Введите после неё no. Должно получиться так:

/etc/ssh/sshd_config
PasswordAuthentication no

Если строка закомментирована (перед ней стоит символ #), то удалите этот символ.

Далее сохраните изменения в файле и перезапустите SSH-сервер:

systemctl restart sshd.service

Теперь доступ по паролю без ключей невозможен.

PreviousОсновные команды SSHNextИзменение часового пояса

Last updated 4 years ago

Was this helpful?