Как настроить SSH-подключение в Linux на сервере и клиенте

Иван Корнев·16 августа 2026·3 мин

Если вы ищете, как настроить SSH-подключение в Linux, процесс включает установку сервера openssh-server, правку конфига /etc/ssh/sshd_config и генерацию ключей. Разберём настройку по шагам.

Оглавление

Установка компонентов SSH

Для работы протокола нужны серверная и клиентская части. В дистрибутивах на базе Debian и Ubuntu сервер устанавливается пакетом openssh-server через команду:

sudo apt install openssh-server

Клиентская часть (openssh-client) обычно уже предустановлена в системе. После установки проверьте, что служба запущена:

systemctl status sshd

Базовая настройка сервера

Основной файл конфигурации сервера расположен по пути /etc/ssh/sshd_config. После внесения изменений службу нужно перезапустить командой systemctl restart sshd.

Любые правки в sshd_config требуют обязательного перезапуска сервиса, иначе они не вступят в силу.

Рекомендуемые параметры безопасности:

  • Изменение порта. Стандартный порт 22 лучше заменить на нестандартный, чтобы снизить риск автоматических атак.
  • Запрет входа под root. Установите параметр PermitRootLogin no, чтобы исключить прямое подключение под суперпользователем.

Аутентификация по ключам

Использование SSH-ключей безопаснее, чем вход по паролю. На клиентской машине сгенерируйте пару ключей:

ssh-keygen -t ed25519

Также можно использовать алгоритм RSA. Открытый ключ нужно скопировать на сервер и разместить в файле ~/.ssh/authorized_keys того пользователя, под которым будет выполнен вход.

После успешной проверки ключевой аутентификации рекомендуется отключить вход по паролю. Для этого в файле sshd_config установите параметр:

PasswordAuthentication no

Подключение и клиентская конфигурация

Для подключения к серверу используется команда:

ssh username@ip-address -p port

Здесь указываются имя пользователя, IP-адрес сервера и порт.

Для упрощения частых подключений используйте клиентский конфигурационный файл ~/.ssh/config. В нём можно прописать алиасы хостов, пользователей и пути к приватным ключам.

Не забудьте разрешить выбранный SSH-порт в брандмауэре (например, UFW или iptables). Если порт закрыт, подключение будет заблокировано.

Частые ошибки

  • Служба не запущена. После установки пакета openssh-server не всегда происходит автоматический старт. Проверяйте статус через systemctl status sshd и при необходимости запускайте вручную.
  • Забытый перезапуск. Изменения в /etc/ssh/sshd_config не применяются, пока сервис не перезапущен командой systemctl restart sshd.
  • Блокировка брандмауэром. Если SSH-порт не разрешён в UFW или iptables, сервер не примет входящее соединение.
  • Неверное расположение ключа. Открытый ключ должен находиться строго в файле ~/.ssh/authorized_keys целевого пользователя на сервере.

FAQ

Чем отличается SSH-сервер от SSH-клиента?

Сервер принимает входящие подключения, а клиент их инициирует. В Linux сервер обеспечивается пакетом openssh-server, а клиент — пакетом openssh-client, который чаще всего уже предустановлен.

Какой алгоритм выбрать при генерации ключей?

Согласно рекомендациям, предпочтительным является алгоритм ed25519 (команда ssh-keygen -t ed25519). Также поддерживается генерация по алгоритму RSA.

Можно ли подключаться без пароля?

Да, для этого нужно настроить аутентификацию по ключам. После размещения открытого ключа в ~/.ssh/authorized_keys на сервере и отключения параметра PasswordAuthentication в конфигу сервера вход по паролю будет запрещён, и система станет требовать только приватный ключ.