Знание должно быть доступно!

Путь /ОС/Linux

Файлы SSH

/etc/ssh/ssh_config        # настройки клиента ssh
/etc/ssh/sshd_config       # настройки сервера ssh
/etc/ssh/ssh_host_*        # ключи хоста

Нам нужен sshd_config для настройки доступа.

Рвём конфиг SSH на части

Шуруй в файл настроек:

sudo vim /etc/ssh/sshd_config

Рубим доступ по паролю

Ищи строчку с PasswordAuthentication, если не видишь - добавь. Должно быть так:

PasswordAuthentication no

Это значит: запретить вход по паролю.
Сервер теперь принимает только вход по ключу (если PubkeyAuthentication включён).

Ключи — наше всё!

Проверь, чтобы вот это было на месте:

PubkeyAuthentication yes

Если нет - добавляй, чтоб всё ровно работало.

Делаем вход для рута запрещённым (по желанию)

Если хочешь ещё и рута на привязь посадить, то в том же конфиге:

PermitRootLogin no

И опять пинай SSH:

sudo systemctl restart sshd

Пинаем демон SSH

После всех правок перезапускаем зверя:

sudo systemctl restart sshd

Проверка боя

На другом терминале попробуй зайти через ключ, чтобы всё огонь:

ssh user@your_server

Теперь никто паролем твой сервер не вскроет, только ключом пробьётся!