К содержанию
АльфаКомпВсё о компьютерах — каждый день
LinuxИнструкция6 минут чтения

Настройка подключения по SSH в Linux

Организация защищенного удаленного доступа к системе с помощью клиента и демона OpenSSH позволяет управлять серверами по зашифрованному каналу. Инструкция описывает базовые принципы настройки, аутентификации и расширенные возможности в среде Linux.

Терминал Linux с открытым интерфейсом командной строки и SSH-соединением

Фото: Hpott / Wikimedia Commons, CC BY-SA 4.0

Содержание
  1. Что понадобится
  2. Принцип работы и архитектура OpenSSH
  3. Настройка конфигурационного файла демона
  4. Настройка публичных ключей аутентификации
  5. Подключение к удаленному хосту с помощью клиента SSH
  6. Дополнительные возможности туннелирования и перенаправления
  7. Если не получилось

Что понадобится

  • Компьютер или сервер под управлением Linux (инструкция актуальна для дистрибутивов Ubuntu, Debian, Arch Linux и Fedora).
  • Права суперпользователя (root) для настройки системной службы и прав доступа на сервере.
  • Установленные пакеты клиентской части (ssh) и серверного демона (sshd) из комплекса OpenSSH.
  • Базовые навыки работы с терминалом, с чем поможет материал про основные команды терминала Linux для начинающих пользователей.

Принцип работы и архитектура OpenSSH

Пакет OpenSSH состоит из серверного демона sshd и клиентской программы ssh. Демон запускается на удаленной машине, прослушивает входящие сетевые запросы и порождает отдельный процесс для каждого нового соединения. Связь между двумя недоверенными хостами защищается сквозным шифрованием. На этапе установления соединения используется алгоритм Диффи — Хелмана для обеспечения прямой секретности (forward secrecy), после чего сеанс шифруется симметричным шифром, а целостность трафика поддерживается специальным кодом аутентификации сообщений (MAC).

Аутентификация клиента может производиться несколькими методами: на основе доверенных хостов, с использованием публичных ключей, через запрос-ответ (challenge-response) или посредством классической парольной проверки. Перед авторизацией система проверяет доступность учетной записи: аккаунт не должен быть заблокирован или внесен в списки исключений DenyUsers и DenyGroups. Если требуемые компоненты отсутствуют в системе, полезно знать, как устанавливать программы через терминал в Linux: pacman и DNF.

Настройка конфигурационного файла демона

Основным инструментом управления параметрами серверной службы выступает конфигурационный файл sshd_config. Командная строка позволяет гибко переопределять заданные в нем настройки при запуске.

  1. Откройте файл конфигурации демона с помощью текстового редактора с правами суперпользователя, используя команду:
sudo nano /etc/ssh/sshd_config
  1. Найдите директиву порта (Port 22) и при необходимости измените ее значение на другой порт для повышения безопасности системы.
  2. Убедитесь, что параметры аутентификации по ключам и паролям настроены в соответствии с требованиями вашей политики безопасности.
  3. Сохраните изменения и закройте текстовый редактор.
  4. Перезапустите службу демона для применения новых параметров командой:
sudo systemctl restart sshd

Настройка публичных ключей аутентификации

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

  1. Создайте каталог для ключей на удаленном сервере, если он отсутствует:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
  1. Откройте файл авторизованных ключей в текстовом редакторе:
nano ~/.ssh/authorized_keys
  1. Каждая строка файла должна содержать ровно один публичный ключ. Пустые строки и комментарии, начинающиеся с символа #, игнорируются системой.
  2. Установите правильные права доступа на файл ключей для обеспечения безопасности:
chmod 600 ~/.ssh/authorized_keys

Подключение к удаленному хосту с помощью клиента SSH

Клиентская утилита ssh используется для подключения к удаленной машине и выполнения интерактивных команд.

  1. Запустите терминал на локальном компьютере.
  2. Введите базовую команду подключения, указав имя пользователя и сетевой адрес целевого хоста:
ssh username@hostname

Если требуется подключение к серверу, использующему нестандартный порт (например, 2222), задействуйте ключ -p:

ssh -p 2222 username@hostname
  1. При первом соединении с новым узлом система выведет предупреждение о подлинности ключа хоста и запросит подтверждение сохранения отпечатка в локальный файл ~/.ssh/known_hosts. Введите yes и нажмите Enter.
  2. Введите пароль учетной записи удаленного пользователя или укажите файл закрытого ключа через флаг -i:
ssh -i /path/to/identity_file username@hostname

Дополнительные возможности туннелирования и перенаправления

Протокол SSH поддерживает расширенные сценарии использования, включая проброс портов (port forwarding), создание виртуальных сетевых туннелей и перенаправление графических X11-соединений. Перенаправление портов позволяет безопасно обращаться к сервисам за закрытым периметром. По умолчанию локальные или удаленные прослушиваемые сокеты привязываются к интерфейсу замыкания на себя (localhost), однако параметр GatewayPorts на стороне сервера позволяет разрешить подключения со всех интерфейсов при указании символа *.

Пересылка агента аутентификации должна активироваться с осторожностью: пользователи с правами суперпользователя на удаленном хосте теоретически могут получить доступ к локальному агенту через открытый сокет. В качестве более безопасной альтернативы спецификации OpenSSH рекомендуют применять выделенные хосты перенаправления (jump host) с использованием ключа -J в командной строке клиента.

Как понять, что всё получилось: после успешного прохождения проверки подлинности терминал выведет приветственное сообщение удаленной системы (/etc/motd), информацию о времени последнего входа и командную строку удаленного хоста, готовую к работе.

Если не получилось

  • Ошибка соединения (Connection refused): убедитесь, что служба sshd запущенна на удаленном сервере, а брандмауэр не блокирует выбранный сетевой порт.
  • Отказ в аутентификации (Permission denied): проверьте правильность введенного пароля, состояние учетной записи в системе и корректность прав доступа к файлу публичных ключей ~/.ssh/authorized_keys на сервере.
  • Проблемы с ключом хоста: если на удаленной машине переустанавливалась операционная система, старый отпечаток в локальном файле known_hosts вызовет предупреждение безопасности. Удалите устаревшую запись для данного IP-адреса.

Вопросы и ответы

Какой порт используется для подключения по SSH по умолчанию?

По умолчанию демон OpenSSH прослушивает входящие соединения на 22 порту, однако его можно изменить в конфигурационном файле sshd_config.

Что делать при изменении отпечатка удаленного хоста?

Если на сервере переустанавливалась система, локальный файл known_hosts на клиентской машине может выдавать ошибку безопасности. Необходимо удалить устаревшую запись для этого хоста.

Источники

Материал подготовлен автоматически на основе открытых источников. Факты автоматически сверены с публикациями из списка ниже. Как мы работаем

  1. man.archlinux.org:sshd(8) — Arch manual pages
  2. man.archlinux.org:ssh(1) — Arch manual pages
Поделиться:TelegramВКонтакте

Опубликовано 14 октября 2026

Рубрики

↑↓ — выбор, Enter — открыть, Esc — закрыть