7
сентября
2021
15:13

Настройка сервера SSHD и клиента SSH в Linux

7 сентября 2021 15:13

Иногда требуется подключиться по протоколу SSH к домашнему или рабочему ПК для его настройки.

План установки

  1. Установить SSHD на рабочий сервер Ubuntu Linux.
  2. Настроить SSHD на сервере. Вместо порта 22 TCP по умолчанию для службы SSH в данном примере будем использовать порт 22334.
  3. SSHD сервер должен быть запущен и работать постоянно. Разрешить запуск службы SSHD.
  4. Должен быть настроен локальный брандмауэр UFW: разрешить доступ извне к порту 22334/TCP.
  5. Если планируется подключение из Интернет, должен быть выполнен "проброс" из WAN порта роутера порт 22334 на IP адрес компьютера в локальной сети.
  6. Установить SSH на клиент MX Linux (Debian 11 "Buster" или Debian 12 "Bookworm")
  7. Подключиться по SSH с клиента к серверу.

Шаг 1. Установка SSHD на сервер

Установка SSHD в Ubuntu Linux - в параметрах команды apt-get указывается имя мета пакета ssh:

sudo apt-get install ssh

Шаг 2. Настройка SSHD сервера

Вначале копирую в bak, т.е. откладываю в сторону исходный конфигурационный файл SSHD:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.COPY

Исправляю конфигурационный файл по инструкции с учётом того, что вход будет осуществляться по паролю.

Исправил его с помощью редактора "nano":

sudo nano /etc/ssh/sshd_config

Мой конфигурационный файл sshd_config привожу ниже (его можно скопировать и вставить):

cat /etc/ssh/sshd_config | grep \# -v

Include /etc/ssh/sshd_config.d/*.conf
Port 22334
AddressFamily inet
ListenAddress 0.0.0.0
PermitRootLogin no
MaxAuthTries 6
MaxSessions 1
PasswordAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server

Шаг 3. Настройка запуска службы SSHD на сервере Ununtu

Перезапуск демона sshd для применения изменений в файле конфигурации:

sudo systemctl restart sshd

Проверка состояния:

sudo systemctl status sshd

Разрешение постоянного запуска службы SSHD при загрузке операционной системы:

sudo systemctl enable sshd

Шаг 4. Настройка локального брандмауэра UFW

Запустить и разрешить запуск ufw после перезагрузки, одной командой.

sudo systemctl enable --now ufw

Чтобы открыть "секретный" порт 22334 на брандмауэре, я выполнил команду, которая добавляет разрешающее правило:

sudo ufw allow 22334

Просмотр правил брандмауэра ufw:

sudo ufw status verbose

Шаг 5. Проброс портов

Поскольку я тестировал задачу внутри локальной сети, этот пункт пропускаю. Каждый может настроить проброс "секретного" порта SSH на Интернет роутере самостоятельно. Если будет использоваться VPN тоннель, проброс портов, что очевидно, выполнять не нужно.

Шаг 6. Установка ssh на нетбук под управлением MX Linux (Debian)

В Debian команда установки ssh несколько другая, чем в Ubuntu:

sudo apt-get install ssh

Шаг 7. Подключение к серверу SSH от клиента

Если сервер имеет статический "белый" IP-адрес, подключение к нему с клиента выполняется командой

ssh user@123.45.67.8 -p 22334

где user - имя пользователя, который должен существовать на сервере
123.45.67.8 - IP адрес сервера,
22334 - порт SSH.

При первом подключении будет сообщение о доверии к серверу, ответил с клавиатуры "yes".
Затем нужно ввести пароль к учётной записи user, и вы попадёте в консоль (терминальную сессию) сервера.

Итог

Настройка завершена. Вход на удалённый сервер по протоколу SSH выполнен.

Дальнейшие действия

Если планируется часто подключаться к серверу с одной и той же машины, можно вместо парольной защиты настроить подключение к серверу SSH по сертификатам, сгенерированным программой "ssh-keygen", о чём рассказано в статье itproffi.ru.


Ссылки:



Похожие публикации