Загрузить файлы в «/»
This commit is contained in:
@@ -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@<VM_IP>
|
||||
```
|
||||
|
||||
- Либо создав/отредактировав файл вручную `~/.ssh/authorized_keys`
|
||||
- `authorized_keys` может содержать несколько ключей — каждый ключ добавляется с новой строки.
|
||||
|
||||
- Проверить права на директорию и файл. Должны быть:
|
||||
```bash
|
||||
chmod 700 ~/.ssh
|
||||
chmod 600 ~/.ssh/authorized_keys
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Проверка входа по ключу
|
||||
|
||||
```bash
|
||||
ssh nebaryshev@<VM_IP>
|
||||
```
|
||||
|
||||
Если пароль не запрашивается — всё работает.
|
||||
|
||||
---
|
||||
|
||||
## 4. Отключение входа по паролю
|
||||
|
||||
⚠️ Делать **ТОЛЬКО ПОСЛЕ** проверки входа по ключу.
|
||||
|
||||
Открыть конфиг:
|
||||
```bash
|
||||
sudo nano /etc/ssh/sshd_config
|
||||
```
|
||||
|
||||
Изменить:
|
||||
```text
|
||||
PasswordAuthentication no
|
||||
PermitRootLogin no
|
||||
PubkeyAuthentication yes
|
||||
```
|
||||
|
||||
Перезапустить SSH:
|
||||
```bash
|
||||
sudo systemctl restart ssh
|
||||
```
|
||||
Reference in New Issue
Block a user