Tightvnc установка через bat файл

Обновлено: 03.07.2024

По умолчанию серверы Ubuntu 18.04 поставляются без предустановленного графического окружения рабочего стола и сервера VNC. Потому сначала нужно установить эти компоненты. Мы будем использовать пакеты Xfce и TightVNC, доступные в официальном репозитории Ubuntu.

Установка Xfce и TightVNC

Сначала устанавливаем пакет Xfce:

Следом за ним — пакет TightVNC:

Запускаем VNC-сервер командой:

При первом запуске vncserver предложит выбрать и подтвердить пароль. Пароль должен быть длинной от шести до восьми символов. Кроме того, будет возможность создать пароль только для просмотра.

Порты VNC-сервера

При запуске первого экземпляра VNC-сервера без указания порта, сервер будет прослушивать порт 5901 (или :1). При запуске следующего экземпляра сервер будет прослушивать порт 5902 (или :2). Можно явно указать порт при запуске экземпляра сервера:

Посмотреть список запущенных серверов можно так:

Остановим работу первого и второго экземпляра VNC-сервера:

Настройка VNC-сервера

Теперь нужно задать команды, которые сервер VNC будет выполнять при запуске. Эти команды должны находиться в файле xstartup в каталоге

/.vnc/ текущего пользователя. Сценарий запуска уже был создан при первом запуске сервера с помощью команды vncserver , но его нужно откорректировать для работы с Xfce.

При помощи первой команды GUI сервера VNC читает файл .Xresources . В файле .Xresources пользователь может вносить изменения в некоторые настройки графического рабочего стола (цвет терминала, темы курсора, шрифты). Вторая команда просто запускает графическую оболочку Xfce.

Этот файл нужно сделать исполняемым:

Все, можно запускать сервер:

Подключение к VNC-серверу

Теперь попробуем подключиться с другого компьютера, используя VNC-клиент Remmina:


Изначально качество изображения низкое, но это можно изменить в настройках клиента:


Перед подключением надо открыть несколько портов на той машине, где мы установили VNC-сервер:

Создание файла сервиса

Теперь нужно настроить сервер VNC как сервис Systemd, чтобы он запускался при загрузке системы. Для этого создаем новый unit-файл:

Символ @ в конце имени файла позволит нам передать аргумент, который можно использовать в конфигурации сервиса. С его помощью можно указать порт VNC, который нужно использовать при управлении сервисом.

Команда ExecStartPre останавливает VNC, если сервис уже запущен. Команда ExecStart запускает VNC и устанавливает глубину цвета и разрешение. Давайте сообщим системе про новый unit-файл.

Добавляем три службы в автозагрузку:

Теперь, после загрузки системы, VNC-сервер будет прослушивать три порта: 5901, 5902 и 5903. И мы можем подключиться на любом из них:


И мы можем вручную запустить или остановить VNC-сервер, как любую другую службу:

Безопасное подключение

При подключении VNC не использует безопасные протоколы. Давайте создадим SSH-туннель для безопасного подключения к серверу (для этого на машине с VNC-сервером должен быть установлен SSH-сервер):

У меня возникло затруднение при попытке установить ssh-соединение с виртуальной машиной, на которой установлен VNC-сервер (и SSH-сервер):

Ключ сервера используется в процессе обмена ключами для подтверждения того, что клиент действительно связывается с нужным сервером. Клиент ssh запрашивает публичный ключ сервера и спрашивает, можно ли ему доверять:

После этого отпечаток публичного ключа сохраняется в файле

/.ssh/known_hosts . В моем случае сам сервер, просматривая свои ключи, обнаруживал в них ошибку. Если посмотреть файл /var/log/auth.log , то можно увидеть такие записи

При подключении к VNC-серверу указываем не 192.168.110.13:5901 , а localhost:5901 . Мы как бы подключаемся к локальной машине, но соединение будет проброшено через ssh-туннель на машину с VNC-сервером.


При этом на машине с установленным VNC-сервером должен быть открыт 22-ой порт:

А вот держать открытыми порты 5901:5903 больше не нужно, так что закрываем:

Обратите внимание, что VNC-клиент Remmina умеет создавать ssh-туннель самостоятельно:

TightVNC — это следующий клиент-сервер VNC.

TightVNC — это бесплатный программный пакет для дистанционного управления. С TightVNC вы можете видеть рабочий стол удалённого компьютера и управлять им с помощью локальной мыши и клавиатуры, как если бы вы делали это, сидя перед этим компьютером. TightVNC - это:

  • бесплатно для личного и коммерческого использования, с полным исходным кодом,
  • полезен в управлении, технической поддержке, образовании и для многих других целей,
  • кроссплатформенный, доступный для Windows и Unix, с включённым клиентом Java,
  • совместим со стандартным программным обеспечением VNC, в соответствии со спецификациями протокола RFB.

Установка TightVNC

Typical установка подходит в большинстве случаев:


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


  • Associate .vnc files with TightVNC Viewer — ассоциировать файлы .vnc с просмотрщиком TightVNC
  • Register TightVNC Server as a system service (recommended) — зарегистрировать сервер TightVNC в качестве системной службы (рекомендуется)
  • Configure system to allow service simulate Ctrl+Ald+Del — настроить систему для разрешения симулирования Ctrl+Ald+Del

Сразу после установки предлагается установить 2 вида паролей:


  • Password for Remote Access — пароль для подключения к компьютеру по VNC
  • Administrative Password — пароль для доступа к интерфейсу TightVNC и редактированию настроек
  • Do not change — не менять
  • Do not use password protection (DANGEROUS!) — не использовать защиту паролем (ОПАСНО!)
  • Require password-based authentication (make sure this box is always checked!) — Требовать аутентификацию на основе пароля (убедитесь, что этот флажок всегда установлен!)

Управление службой TightVNC

Для проверки статуса службы:

Для отключения службы (включится после перезагрузки)

Для включения службы

Ручное включение службы:

Отключение службы (при загрузке компьютера служба не включится):

Автоматическое включение службы (служба включится при загрузке компьютера):

Ярлыки TightVNC

После установки TightVNC создаются следующие ярлыки для запуска и управления VNC.


TightVNC Server (Application Mode) — TightVNC сервер (режим приложения)

  • Run TightVNC Server — запустить сервер TightVNC
  • TightVNC Server - Control Interface — контрольный интерфейс сервера TightVNC
  • TightVNC Server - Offline Configuration — офлайн настройка сервера TightVNC

TightVNC Server (Service Mode) — TightVNC сервер (режим службы)

  • Register TightVNC Service — зарегистрировать службу TightVNC (если вы не сделали этого при установке)
  • Start TightVNC Service — запустить службу TightVNC
  • Stop TightVNC Service — остановит службу
  • TightVNC Service - Control Interface — контрольный интерфейс службы TightVNC
  • TightVNC Service - Offline Configuration — офлайн настройка службы TightVNC
  • Unregister TightVNC Service — отменить регистрацию службы TightVNC
  • TightVNC Viewer — запустить просмотрщик (клиент) TightVNC

Настройка сервера TightVNC

Обратите внимание, что настройки TightVNC Server в режиме приложения и в режиме сервиса настраиваются индивидуально! Настройки сервиса TightVNC Server являются общесистемными, а настройки приложения TightVNC Server индивидуальны для каждого пользователя! Но при этом настройки паролей доступа являются общими для сервиса и приложения.

Для настройки сервера TightVNC вы можете открыть окно настроек с помощью ярлыка или найти его иконку в системном трее (рядом с часами) и кликнуть правой кнопкой мыши:


Затем выберите Configuration (настройка) и перейдите во вкладку Server (сервер):


Здесь установите Primary password (Set, Change, Unset) — главный пароль (установить, изменить, удалить).

Настройка клиента TightVNC

Запускаем TightVNC Viewer:


Достаточно ввести IP адрес удалённого компьютера для подключения. Введите имя или IP-адрес. Чтобы указать номер порта, добавьте его после двух двоеточий (например, mypc::5902).

Быстрый старт с TightVNC

Если вы хотите включить сервер TightVNC, то достаточно запустить службу или приложение сервера TightVNC, это ярлык TightVNC Server или ярлык Start TightVNC Service.

Если вы это ещё не сделали, установите пароль для подключения по VNC.

Сообщите ваш IP адрес пользователям, которые должны подключиться к вашему компьютеру.

Если вы хотите подключиться по VNC с помощью TightVNC, то запустите TightVNC Viewer.

Введите IP адрес и нажмите кнопку Connect:



Как пользоваться TightVNC

В верхней левой части экрана расположена панель инструментов:


Для выхода из полноэкранного режима нажмите Ctrl+Alt+Shift+F.

При выборе Transfer files (передача файлов) вы сможете переносить файлы с удалённого компьютера на свой локальный и в обратном направлении:

TightVNC — это бесплатный программный пакет для дистанционного управления. С TightVNC вы можете видеть рабочий стол удалённого компьютера и управлять им с помощью локальной мыши и клавиатуры, как если бы вы делали это, сидя перед этим компьютером. TightVNC — это:

  • бесплатно для личного и коммерческого использования, с полным исходным кодом,
  • полезен в управлении, технической поддержке, образовании и для многих других целей,
  • кроссплатформенный, доступный для Windows и Unix, с включённым клиентом Java,
  • совместим со стандартным программным обеспечением VNC, в соответствии со спецификациями протокола RFB.

Общие сведения о программе VNC Viewer



You will be interested:How dangerous is the new coronavirus?
Для начала кратко остановимся на том, что представляет собой этот программный продукт, рассмотрим, для чего он предназначен. Исходя из выше приведенной аналогии, можно сказать, что VNC-клиент — это универсальное приложение, позволяющее в считаные минуты организовать доступ к удаленному компьютеру.


То есть данную программу можно отнести к классу RDP-приложений, предназначенных для подключения к удаленному «Рабочему столу». Однако только доступом к удаленным компьютерам дело не ограничивается, поскольку в самой программе имеется еще немало дополнительных возможностей:

Сразу же стоит отметить, что технология Virtual Network Computing (VNC)имеет и еще одно неоспоримое преимущество, если сравнивать с аналогами. Дело в том, что в ней есть возможность установки серверной и клиентской части (в зависимости от того, какой именно тип подключения будет использоваться в дальнейшем), плюс, тонкая настройка ПО для каждого варианта установки с целью обеспечения максимальной производительности.

Установка TightVNC

Typical установка подходит в большинстве случаев:


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


  • Associate .vnc files with TightVNC Viewer — ассоциировать файлы .vnc с просмотрщиком TightVNC
  • Register TightVNC Server as a system service (recommended) — зарегистрировать сервер TightVNC в качестве системной службы (рекомендуется)
  • Configure system to allow service simulate Ctrl+Ald+Del — настроить систему для разрешения симулирования Ctrl+Ald+Del

Сразу после установки предлагается установить 2 вида паролей:


  • Password for Remote Access — пароль для подключения к компьютеру по VNC
  • Administrative Password — пароль для доступа к интерфейсу TightVNC и редактированию настроек
  • Do not change — не менять
  • Do not use password protection (DANGEROUS!) — не использовать защиту паролем (ОПАСНО!)
  • Require password-based authentication (make sure this box is always checked!) — Требовать аутентификацию на основе пароля (убедитесь, что этот флажок всегда установлен!)



Шаг 3 — Безопасная настройка рабочего стола VNC

Сервер VNC не использует защищенные протоколы при подключении. Мы используем туннель SSH для безопасного подключения к серверу, а затем укажем клиенту VNC использовать этот туннель, а не создавать прямое соединение.

Создайте на локальном компьютере соединение SSH, которое безопасно перенаправляется в соединение localhost для VNC. Для этого можно ввести черех терминал в Linux или macOS следующую команду:

  • ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

Опция -L указывает на привязку портов. В данном случае мы привязываем порт 5901 удаленного подключения к порту 5901 локального компьютера. Опция -C активирует сжатие, а опция -N указывает ssh, что мы не хотим выполнять удаленную команду. Опция -l указывает имя для удаленного входа в систему.

Не забудьте заменить sammy и your_server_ip именем пользователя sudo без привилегий root и IP-адресом вашего сервера.

Если вы используете графический клиент SSH (например, PuTTY), используйте your_server_ip как IP-адрес для подключения, и задайте localhost:5901 как новый порт переадресации в настройках туннеля SSH программы.

После запуска туннеля используйте клиент VNC для подключения к localhost:5901. Вам будет предложено пройти аутентификацию, используя пароль, заданный на шаге 1.

После подключения вы увидите рабочий стол Xfce по умолчанию.

Подключение VNC к серверу Debian 9


Выберите пункт
«Использовать конфигурацию по умолчанию» для быстрой настройки системы.
Для доступа к файлам в каталоге home вы можете использовать менеджер файлов или командную строку, как показано здесь:

Файлы через соединение VNC с Debian 9

Нажмите CTRL+C на локальном компьютере, чтобы остановить туннель SSH и вернуться к командной строке. При этом сеанс VNC также будет отключен.

Теперь мы настроим сервер VNC как службу.

Ярлыки TightVNC

После установки TightVNC создаются следующие ярлыки для запуска и управления VNC.


TightVNC Server (Application Mode) — TightVNC сервер (режим приложения)

  • Run TightVNC Server — запустить сервер TightVNC
  • TightVNC Server — Control Interface — контрольный интерфейс сервера TightVNC
  • TightVNC Server — Offline Configuration — офлайн настройка сервера TightVNC

TightVNC Server (Service Mode) — TightVNC сервер (режим службы)

  • Register TightVNC Service — зарегистрировать службу TightVNC (если вы не сделали этого при установке)
  • Start TightVNC Service — запустить службу TightVNC
  • Stop TightVNC Service — остановит службу
  • TightVNC Service — Control Interface — контрольный интерфейс службы TightVNC
  • TightVNC Service — Offline Configuration — офлайн настройка службы TightVNC
  • Unregister TightVNC Service — отменить регистрацию службы TightVNC
  • TightVNC Viewer — запустить просмотрщик (клиент) TightVNC

4: Создание файла сервиса VNC

Теперь нужно настроить сервер VNC как сервис system.

Создайте новый файл /etc/systemd/system/:

sudo nano /etc/systemd/system/

Скопируйте и вставьте в него следующий код:

/etc/systemd/system/ Description=Start TightVNC server at startup After=syslog.target network.target Type=forking User=8host PAMName=login PIDFile=/home/8host/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/NULL 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800:%i ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target

: Укажите имя своего пользователя вместо 8host.

Сохраните и закройте файл.

sudo systemctl daemon-reload

Включите новый файл:

sudo systemctl enable

Остановите текущий экземпляр сервера VNC, если он ещё запущен:

Теперь попробуйте запустить его как любой другой сервис systemd:

sudo systemctl start

Чтобы убедиться, что сервер запущен, проверьте его состояние:

sudo systemctl status

Если сервер запущен, команда вернёт:

— TightVNC server on Ubuntu 16.04 Loaded: loaded (/etc/systemd/system/; enabled; vendor preset: enabled) Active: active (running) since Mon 2016-04-25 03:21:34 EDT; 6s ago Process: 2924 ExecStop=/usr/bin/vncserver -kill:%i (code=exited, status=0/SUCCESS) … systemd: Starting TightVNC server on Ubuntu 16.04…

systemd: pam_unix(login:session): session opened for user finid by (uid=0) systemd: Started TightVNC server on Ubuntu 16.04.

Настройка сервера TightVNC

Обратите внимание, что настройки TightVNC Server в режиме приложения и в режиме сервиса настраиваются индивидуально! Настройки сервиса TightVNC Server являются общесистемными, а настройки приложения TightVNC Server индивидуальны для каждого пользователя! Но при этом настройки паролей доступа являются общими для сервиса и приложения.

Для настройки сервера TightVNC вы можете открыть окно настроек с помощью ярлыка или найти его иконку в системном трее (рядом с часами) и кликнуть правой кнопкой мыши:

Затем выберите Configuration (настройка) и перейдите во вкладку Server (сервер):


Здесь установите Primary password (Set, Change, Unset) — главный пароль (установить, изменить, удалить).






Быстрый старт с TightVNC

Если вы хотите включить сервер TightVNC, то достаточно запустить службу или приложение сервера TightVNC, это ярлык TightVNC Server или ярлык Start TightVNC Service.

Если вы это ещё не сделали, установите пароль для подключения по VNC.

Сообщите ваш IP адрес пользователям, которые должны подключиться к вашему компьютеру.

Если вы хотите подключиться по VNC с помощью TightVNC, то запустите TightVNC Viewer.

Введите IP адрес и нажмите кнопку Connect:







Добавляем SSL с самоподписанным сертификатом

Добавлять SSL — необязательно. Создать самоподписанный сертификат можно вот так:
Openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem Для Windows openssl можно взять .

В результате получаем файл self.pem, на который надо указать при старте noVNC:

Так как сертификат самоподписанный, то в браузере нужно будет принять этот сертификат.

Let»s Encrypt

У меня нет инструкций о том, как настроить систему, чтобы Let»s Encrypt автоматически генерировал сертификат специально для нашей системы. Для этого потребовалось бы, чтобы noVNC работал на порту 80, что конечно же возможно, но может быть неудобно, и найти способ интегрировать certbot, чтобы эти файлы публиковались в нужную директорию. Думаю, что это возможно, но я этого не сделал. Если вы допилите — поделитесь в комментариях.
В моём случае, у меня уже есть домашний сервачок с NGINX и DDNS именем, который настроен автоматически получать сертификат от Lets Encrypt.

Вы можете запустить что-то похожее у себя. есть инструкции о настройке Let»s Encrypt для Linux и Windows.

Поэтому для noVNC

я просто использую уже существующие
pem
-файлы, сгенерированные для
nginx
.

Let»s Encrypt создаёт следующие файлы:

Cert.pem: Your domain»s certificate chain.pem: The Let»s Encrypt chain certificate fullchain.pem: cert.pem and chain.pem combined privkey.pem: Your certificate»s private key На Ubuntu их можно найте по вот такому пути: /etc/letsencrypt/live/your_domain_name

Нужно скопировать (объединить) fullchain.pem

и
privkey.pem
в один файл, например назовём его
encrypt.pem
, и этот файл мы будем использовать для
noVNC
.

Конечно, работать это будет только если nginx

сервер и
noVNC
— на одном домене. Порты могут быть разными.

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

Как пользоваться TightVNC

В верхней левой части экрана расположена панель инструментов:

Для выхода из полноэкранного режима нажмите Ctrl+Alt+Shift+F.

При выборе Transfer files (передача файлов) вы сможете переносить файлы с удалённого компьютера на свой локальный и в обратном направлении:


Добавляем noVNC, как Windows-сервис

Загружаем zip-архив , и распаковываем файлы оттуда так, чтобы они лежали в той же папке, где и файл websockify.exe
, то есть в нашем случае в
c:\noVNC\websockify
.

При запуске, сервис будет использовать параметры из файла noVNCConfig.ini

. Вот пример моего конфига:

5901 127.0.0.1:5900 —web C:\noVNC\noVNC-master —cert=c:\noVNC\encrypt.pem В консоли, запущенной с администраторскими привилегиями создаём новый сервис:

Sc create «noVNC Websocket Server» binPath= «c:\noVNC\websockify\noVNC Websocket Service.exe» DisplayName= «noVNC Websocket Server» Если нужно будет удалить сервис, то вот так:

Sc delete «noVNC Websocket Server» Открываем сервисы (Control Panel → Administrative Tools → Services) и запускаем noVNC Websocket Server. Также здесь можно настроить, чтобы сервис стартовал каждый раз вместе с Windows:



Да, отчего-то не все клиенты хотят работать в таком удобном и черном терминале, панель полностью не удовлетворяет их эстетические потребности, и вообще — «где мой такой любимый и удобный VNC?».
вопрос привычки и вкуса

В данной статье будет рассмотрен пример установки и настройки VNC server и графической оболочки (GUI) на примере OC Debian 8 jessie.


Вводная: на руках имеется чистый Debian 8 и жгучее желание получить на выходе защищенный vnc-доступ к серверу.

Приступим

Обновим список доступных пакетов.

Если система свежеустановленная — стоит обновиться.

(!)Бездумно запускать данную команду не на свежеустановленном сервере не стоит, чревато сломанными зависимостями и перспективой работы напильником.

Устанавливаем Xfce и VNC server (любители GNOME, KDE, LXDE, etc. устанавливают оболочку по своему вкусу).

Создаем пользователя от которого будем запускать vnc сервер.

Устанавливаем sudo (в Debian данный пакет не установлен по умолчанию).

Добавляем пользователя vnc в группу sudo.

Переходим под пользователя vnc.

Запускаем vnc сервер.

Если это первый запуск vnc сервера, будет создан конфиг файл и запрошены некоторые параметры:

по умолчанию порт vnc сервера будет 5901, порт каждого следующего дисплея будет увеличиваться на 1 (5902,5903. ).

Проверить запущен ли VNC сервер и на каком порту слушает можно следующей командой.

Убить конкретный дисплей можно так:

:1 — какой дисплей нужно убить.

Создание скрипта автостарта vnc сервера.

Сначала убьем запущенный дисплей :1 (если он запущен).

создаем скрипт запуска

Добавляем следующие строки в файл:


если требуется — в скрипте можно изменить глубину цвета или разрешение экрана.

Делаем файл исполняемым.

использование созданного нами скрипта:

Теперь нужно позаботиться о том, чтобы настроенный нами vnc стартовал после загрузки сервера (запланированной и не очень).
Для этого создаем файл по следующему пути.


Добавляем следующий текст в файл:

[Unit] — указываем описание скрипта (так же можно указать требуемые зависимости и порядок запуска при загрузке).
[Service] — указываем какими командами запускать сервис, под каким пользователем, и тип сервиса.
[Install] — указываем на каком уровне должен запускаться скрипт (runlevel 3 — многопользовательский режим без графики).

Включаем юнит в автозагрузку при старте системы.


Смотрим статус созданного нами юнита.


Дергаем systemd для поиска новых или измененных юнитов.

Шифрование трафика

Голый VNC не шифрует трафик, и оставлять его в таком виде не стоит.
Кроме того, если на Ваш IP выйдут боты из Китая и начнут стучатся по портам, даже если пароль установлен действительно качественный (учтите, что пароль на vnc сессию ограничен 8 символами) и его не взломают, попасть на сервер посредством VNC будет затруднительно, из-за постоянной ошибки на количество неверных попыток авторизации.

Using password file /home/vnc/.vnc/passwd

Warning: password truncated to the length of 8.

Would you like to enter a view-only password (y/n)? n


Пускаем VNC поверх SSH:


Теперь для подключения к серверу сначала нужно создать тунель.

Под *nix:

Теперь возможно подключение посредством vnc клиента, указав вместо IP удаленного сервера localhost и порт на котором слушает vnc-server.

При использовании Windows и putty агента:

После запуска putty переходим Connection -> SSH -> Tunnels.
В поле Source Port вбиваем порт на котором слушает VNC сервер — 5901, в поле Destination вписываем — localhost:5901 и жмем кнопку Add.
должно получиться как на картинке.



Теперь возвращаемся на вкладку Session вписываем IP сервера и порт 22 (тут же можно и сохранить конфигурацию подключения), жмем Open.


паранойи мало не бывает К осторожности нужно приучать сразу, хоть теперь и попасть на наш сервер посредством VNC извне невозможно (для начала нужно залогиниться по ssh и создать тунель), все же стоит задуматься о дополнительной безопасности ssh подключений (помните — китайские боты не дремлют).

Установим и настроим fail2ban.
По умолчанию защита от брутфорса для SSH включена, что нам собственно и требуется.
при превышении заданного числа неудачных вводов пароля подряд (по умолчанию — 6) бан IP, с которого были попытки подбора на заданное время (по умолчанию — 600 секунд).

Устанавливаем пакет из репозитория.

Основной интересующий нас файл настроек находится по пути /etc/fail2ban/jail.conf

Блок настроек для подключения по ssh:

ignoreip — IP адреса, которые не должны быть заблокированы. Можно задать список IP адресов разделённых пробелами, маску подсети, или имя DNS сервера.

bantime — время бана в секундах, по истечении которого IP адрес удаляется из списка заблокированных.

maxretry — количество подозрительных совпадений, после которых применяется правило. В контексте ssh — это число неудавшихся попыток логина, после которых происходит блокировка.

enabled — значение true указывает что данный jail активен, false выключает действие изолятора.

port — указывает на каком порту или портах запущен целевой сервис. Стандартный порт SSH сервера — 22, или его буквенное наименование — ssh.

filter — имя фильтра с регулярными выражениями, по которым идёт поиск «подозрительных совпадений» в журналах сервиса. Фильтру sshd соответствует файл /etc/fail2ban/filter.d/sshd.conf.

logpath — путь к файлу журнала, который программа Fail2ban будет обрабатывать с помощью заданного ранее фильтра. Вся история удачных и неудачных входов в систему, в том числе и по SSH, по умолчанию записывается в log файл /var/log/auth.log.

Дефолтная настройка удовлетворяет наши требования (6 неверных попыток авторизации по shh и IP летит в бан на 600 секунд), но я бы советовал добавить свой IP в доверенный список.
Обидно будет ждать почти два часа, в случае шестикратной ошибки ввода пароля со своего IP (шанс данного кейса отнюдь не нулевой).

Открываем конфиг файл.


В строке ignoreip = 127.0.0.1/8, адрес 127.0.0.1/8 заменяем на свой IP.

Выходим из редактора nano (ctrl+x, отвечаем y на вопрос сохранения внесенных изменений).

Перегружаем сервис для применения изменений в правилах.


В случае срабатывания бана в логах fail2ban, можно заметить строку предупреждения:


И попытки подключения с данного адреса будут отбиваться сервером автоматически до истечения срока бана.

Читайте также: