Как настроить удаленное подключение по SSH к серверу: полное руководство
Чтобы настроить удаленное подключение по SSH к серверу, необходимо установить пакет openssh-server, сгенерировать криптографические ключи на клиентской машине и правильно сконфигурировать файл /etc/ssh/sshd_config. Стандартный порт для работы протокола — 22, а вход осуществляется командой ssh username@hostname.
Оглавление
Установка SSH-сервера
Первым шагом является установка необходимого программного обеспечения на целевой машине. В дистрибутивах на базе Debian и Ubuntu используется пакет openssh-server. Аналогичный пакет с названием openssh-server доступен и для систем CentOS/RHEL. После установки служба готова к базовой работе, но требует дополнительной настройки для обеспечения безопасности.
Генерация ключей доступа
Для безопасной аутентификации рекомендуется использовать пару криптографических ключей вместо паролей. На клиентской машине выполните команду генерации пары ключей RSA:
ssh-keygen -t rsa -b 4096
Полученный публичный ключ необходимо разместить на сервере в файле ~/.ssh/authorized_keys. Критически важно соблюдать строгие права доступа к этим файлам, иначе сервер откажется их принимать:
- Права доступа к директории
.sshдолжны быть установлены в 700. - Права доступа к файлу
authorized_keysдолжны быть установлены в 600.
Использование ключей значительно повышает безопасность соединения и позволяет отключить вход по паролю в дальнейшем.
Настройка конфигурационного файла
Основная конфигурация SSH-сервера (OpenSSH) хранится в файле /etc/ssh/sshd_config. Для изменения параметров редактируйте этот файл. Ниже приведены основные директивы, влияющие на доступ:
| Директива | Значение | Описание |
|---|---|---|
| Port | <номер> | Позволяет изменить стандартный порт SSH (по умолчанию 22). |
| PermitRootLogin | yes | Разрешает прямой вход под пользователем root по SSH. |
| PasswordAuthentication | yes | Минимальная директива для разрешения входа по паролю. |
| PasswordAuthentication | no | Отключает вход по паролю, оставляя только авторизацию по ключам. |
После внесения изменений в /etc/ssh/sshd_config обязательно проверьте синтаксис конфигурации командой:
sudo sshd -t
Если ошибок не обнаружено, примените новые настройки, перезапустив службу через systemd:
sudo systemctl restart sshd
Подключение к серверу
Для установления сеанса связи используйте команду подключения по SSH с указанием пользователя и хоста:
ssh username@hostname
Если вы изменили стандартный порт 22 на другой, его необходимо указать дополнительно при подключении.
Частые ошибки
- Отказ в доступе из-за прав файлов. Если сервер игнорирует ваш публичный ключ, проверьте права доступа. Директория
.sshдолжна иметь права 700, а файлauthorized_keys— 600. - Синтаксические ошибки в конфиге. Перед перезапуском службы всегда выполняйте проверку
sudo sshd -t. Ошибка в файле/etc/ssh/sshd_configможет привести к падению службы и потере доступа к серверу. - Блокировка root-входа. По умолчанию во многих системах вход под root запрещен. Если он необходим, убедитесь, что в конфиге прописано
PermitRootLogin yes.
FAQ
Какой порт использует SSH по умолчанию?
Стандартный порт SSH — 22. Его можно изменить с помощью директивы Port в файле конфигурации.
Как разрешить вход только по ключам?
Для этого нужно добавить публичный ключ в ~/.ssh/authorized_keys и установить в /etc/ssh/sshd_config директиву PasswordAuthentication no.
Где находится главный файл настроек SSH-сервера?
Конфигурационный файл OpenSSH расположен по пути /etc/ssh/sshd_config.
Как применить изменения в настройках SSH?
После редактирования конфига и проверки синтаксиса необходимо выполнить команду sudo systemctl restart sshd.