From c002acba59e575b7e96f783cc4fd76c7e74a6bb7 Mon Sep 17 00:00:00 2001 From: host Date: Sat, 4 Apr 2026 15:12:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?/=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02_SSH_SETUP.md | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 02_SSH_SETUP.md diff --git a/02_SSH_SETUP.md b/02_SSH_SETUP.md new file mode 100644 index 0000000..880f513 --- /dev/null +++ b/02_SSH_SETUP.md @@ -0,0 +1,93 @@ +## Настройка доступа к серверу по SSH ключам + +> Это файл‑заметка, описывающий **опциональную настройку доступа к серверу по SSH‑ключам**. + +По умолчанию на сервере: +* вход по паролю **разрешён** +* вход по SSH‑ключу **разрешён** + +Для повышения безопасности **рекомендуется отключить вход по паролю**, предварительно: +* создав SSH‑ключи на клиенте +* загрузив публичный ключ на сервер +* убедившись, что вход по ключу работает + +Ниже — универсальная пошаговая инструкция. + +--- + +## 1. Генерация SSH-ключа на клиенте (Mac / Linux) + +**Рекомендуется** использовать ключ с _цифровой подписью ed25519_, сразу задавая _явное имя файла_ и _комментарий_, особенно если серверов несколько + +```bash +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. Копирование публичного ключа на сервер + +- Скопировать ключ можно на сервер автоматически, используя +```bash + ssh-copy-id -i ~/.ssh/templatevm_key.pub nebaryshev@ +``` + +- Либо создав/отредактировав файл вручную `~/.ssh/authorized_keys` +- `authorized_keys` может содержать несколько ключей — каждый ключ добавляется с новой строки. + +- Проверить права на директорию и файл. Должны быть: +```bash +chmod 700 ~/.ssh +chmod 600 ~/.ssh/authorized_keys +``` + +--- + +## 3. Проверка входа по ключу + +```bash +ssh nebaryshev@ +``` + +Если пароль не запрашивается — всё работает. + +--- + +## 4. Отключение входа по паролю + +⚠️ Делать **ТОЛЬКО ПОСЛЕ** проверки входа по ключу. + +Открыть конфиг: +```bash +sudo nano /etc/ssh/sshd_config +``` + +Изменить: +```text +PasswordAuthentication no +PermitRootLogin no +PubkeyAuthentication yes +``` + +Перезапустить SSH: +```bash +sudo systemctl restart ssh +```