Настройка SSH
Инструкция по правильной настройке SSH на сервере.
Last updated
Инструкция по правильной настройке SSH на сервере.
Last updated
После любых изменений необходимо перезагрузить сервис SSHD. Вне зависимости от примененных настроек скорее всего ваша текущая SSH-сессия останется активной.
Для этого необходимо сгенерировать пару ключей (публичный и приватный). Публичный хранится на сервере и там где он прописан вы сможете подключиться со своим приватным ключем.
Сгенерировать новую пару можно командой ssh-keygen
, где вас запросят путь, куда выхотите сохранить ключ и пароль от ключа (можно оставлять пустым, но нежелательно).
Для большей безопасности можно сгенерировать ключ RSA 4096 следующей командой:
На Windows процесс не сильно сложнее, но делается через приложение PuTTY или Termius.
После генерации публичный ключ необходимо загрузить на сервер, это можно сделать 4-ю способами:
Через панель управления сервером -> читать.
Скопировать содержимое вашего файла с расширением .pub (в нашем случае test.pub) и вставить в ~/.ssh/authorized_keys
на сервере.
Командой ssh-copy-id -i test.pub root@<IP>
Программой PuTTY, Termius или другим менеджером SSH.
Конфигурационный файл SSH -> /etc/ssh/sshd_config
После загрузки ключа доступ к серверу все еще можно получить посредством пароля, это можно исправить следующими параметрами.
Довольно частая практика – создавать пользователя и ограничить доступ к серверу для суперпользователя (root).
По умолчанию используется порт 22
, но для большей уверенности можно поменять на условный 61234
. Если вы используете fail2ban
(как настроить защиту?), то вам необходимо будет соответсвующим образом настроить и его, сменив порт с ssh
на указанный.
Немного теории, каждый раз когда вы при подключении вводите yes
в терминал – вы сохраняете публичный ключ сервера (он есть всегда, даже если аутентификация по паролю) в ~/.ssh/known_hosts
.
Это необходимо для предотвращения атак типа MITM (Man-In-The-Middle).
Если ключ сервера не совпадает с тем, что у вас сохранен для этого же сервера, то вы получаете соответствующую ошибку.
Решение проблемы – сбросить сохраненные ключи сервера следующей командой:
Данная ошибка означает то, что на сервере выключена аутентификация по паролю. Нужно подключиться с вашим ключoм, отредактировать конфиг и перезагрузить ssh.service, либо написать в поддержку – мы всегда готовы помочь.