Files
Ubuntu/02_SSH_SETUP.md
T
2026-04-18 00:26:42 +03:00

3.8 KiB

Настройка доступа к серверу по SSH ключам

Это файл‑заметка, описывающий опциональную настройку доступа к серверу по SSH‑ключам.

По умолчанию на сервере:

  • вход по паролю разрешён
  • вход по SSH‑ключу разрешён

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

  • создав SSH‑ключи на клиенте
  • загрузив публичный ключ на сервер
  • убедившись, что вход по ключу работает

Ниже — универсальная пошаговая инструкция.


1. Генерация SSH-ключа на клиенте (Mac / Linux)

Рекомендуется использовать ключ с цифровой подписью ed25519, сразу задавая явное имя файла и комментарий, особенно если серверов несколько

ssh-keygen -t ed25519 -f ~/.ssh/templatevm_key -C "servername@username"

Где:

  • ssh-keygen — генератор SSH‑ключей
  • -t ed25519 — тип ключа (современный, быстрый, короткий)
  • ~/.ssh/templatevm_key — имя файла, где будет сохранена пара ключей
  • -C "servername@username" — комментарий, чтобы ключи было легко различать

В результате будет создано два ключа (публичный и приватный) в каталоге ~/.ssh/

~/.ssh/templatevm_key        # приватный ключ
~/.ssh/templatevm_key.pub    # публичный ключ

Если не указывать имя файла, ключи будут сохранены по умолчанию:

~/.ssh/id_ed25519        # приватный ключ
~/.ssh/id_ed25519.pub    # публичный ключ

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

  • Скопировать ключ можно на сервер автоматически, используя
  ssh-copy-id -i ~/.ssh/templatevm_key.pub nebaryshev@<VM_IP>
  • Либо создав/отредактировав файл вручную ~/.ssh/authorized_keys

  • authorized_keys может содержать несколько ключей — каждый ключ добавляется с новой строки.

  • Проверить права на директорию и файл. Должны быть:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

3. Проверка входа по ключу

ssh nebaryshev@<VM_IP>

Если пароль не запрашивается — всё работает.


4. Установка SSH-сервера

sudo apt update
sudo apt install openssh-server -y

Проверяем, что сервис установлен и работает:

sudo systemctl status ssh

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

⚠️ Делать ТОЛЬКО ПОСЛЕ проверки входа по ключу.

Открыть конфиг:

sudo nano /etc/ssh/sshd_config

Изменить:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes

Перезапустить SSH:

sudo systemctl restart ssh

6. Включение входа по паролю

sudo passwd root

Открыть конфиг:

sudo nano /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes

Перезапустить SSH:

sudo systemctl restart ssh