13

Служба SSH-тоннель на Windows Server

Прошу помощи, поделиться рабочими вариантами настройки постоянного SSH-тоннеля между терминальным сервером на Windows и VPN сервером на VDS. Нужно чтобы подключение работало как служба и переподключалось при разрыве. Вроде не сложная задача, но не могу решить.Идеально подходит PersistentSSH, но там для сервера только TRIAL. Поделитесь, пожалуйста, рабочими вариантами решения.

Лига Сисадминов

2.7K постов19.2K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

7
Автор поста оценил этот комментарий

Настройка постоянного SSH-туннеля между терминальным сервером на Windows и VPN-сервером на VDS может быть выполнена с использованием OpenSSH и службы Windows. Вот пошаговая инструкция:

### 1. Установка OpenSSH на Windows

1. Установите OpenSSH Client:

- Откройте "Параметры" -> "Приложения" -> "Дополнительные компоненты".

- Нажмите "Добавить компонент" и выберите "OpenSSH Client".

- Установите его.

2. Убедитесь, что OpenSSH доступен:

- Откройте командную строку и выполните ssh -V, чтобы убедиться, что OpenSSH установлен.

### 2. Создание SSH-туннеля

1. Создайте SSH-ключи (если их нет):

- Выполните команду:

ssh-keygen -t rsa -b 4096

- Сохраните ключи в стандартной папке (например, C:\Users\ВашеИмя\.ssh\).

2. Скопируйте публичный ключ на VDS:

- Скопируйте содержимое файла id_rsa.pub в ~/.ssh/authorized_keys на вашем VDS.

### 3. Настройка SSH-туннеля

1. Создайте скрипт для SSH-туннеля:

- Создайте файл tunnel.bat с содержимым:

ssh -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -N -R 2222:localhost:22 user@vds_ip

- Здесь:

- 2222 — порт на VDS, который будет перенаправлен на локальный порт 22.

- user@vds_ip — пользователь и IP-адрес вашего VDS.

### 4. Настройка службы Windows

1. Создайте службу:

- Скачайте и установите [NSSM](https://nssm.cc/) (Non-Sucking Service Manager).

- Откройте командную строку от имени администратора и выполните:

nssm install SSHTunnel

- В открывшемся окне укажите:

- Path: C:\Windows\System32\cmd.exe

- Startup directory: C:\Windows\System32

- Arguments: /c C:\path\to\your\tunnel.bat

- Нажмите "Install service".

2. Настройте службу:

- Откройте "Службы" (Win + R -> services.msc).

- Найдите службу SSHTunnel и настройте её:

- Установите тип запуска "Автоматически".

- В разделе "Восстановление" настройте перезапуск службы при сбое.

### 5. Запуск и проверка

1. Запустите службу:

- В "Службах" найдите SSHTunnel и запустите её.

2. Проверьте подключение:

- На VDS выполните:

ssh -p 2222 user@localhost

- Если всё настроено правильно, вы подключитесь к терминальному серверу через SSH-туннель.

### 6. Дополнительные настройки (опционально)

- Автоматическое восстановление соединения:

- Добавьте в скрипт tunnel.bat проверку соединения и переподключение:

:loop

ssh -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -N -R 2222:localhost:22 user@vds_ip

goto loop

- Логирование:

- Добавьте логирование в файл:

:loop

ssh -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -N -R 2222:localhost:22 user@vds_ip >> C:\path\to\logfile.log 2>&1

goto loop

Теперь у вас настроен постоянный SSH-туннель, который работает как служба и автоматически переподключается при разрыве соединения.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Удивительно, но работает.

Исходные данные: сервер VDS подключение по SSH на стандартном порту, на сервере поднят OPENVPN на порту 1194 TCP, пользователь root

0. Материм Роскомпозор что заставляет этим заниматься.

На сервере Windows:

1. Скачиваем и устанавливаем OpenSSH клиент https://github.com/LumitoLuma/OpenSSH-for-Windows/releases.

2. Скачиваем https://nssm.cc/ Сокращаем название и копируем в ProgramFiles

3. Создаём ключ SSH командой в командной строке


ssh-keygen -t rsa -b 4096


Несколько раз нажимаем Enter чтобы согласиться со всеми параметрами по умолчанию. В папке пользователя от которого работаем создаётся папка .ssh в ней id_rsa.pub . Копируем его содержимое.

Идём на VDS

4. Открываем

nano /root/.ssh/authorized_keys

Дописываем скопированный ключ с новой строки. Закрываем, сохраняем.

5. Включаем возможность проброса порта. Открываем

nano /etc/ssh/sshd_config

Раскоментируем и включаем AllowTcpForwarding yes

6. Перезагружаем службу SSH

service sshd restart


На сервере Windows:

7. Пробуем установить соединение - в cmd:

ssh -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -N -L 1194:localhost:1194 root@IPАДРЕСVDS


Принимаем отпечаток командой yes

8. Создаём файл tunnel.bat со следующим содержимым:


:loop

ssh -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -N -L 1194:localhost:1194 root@IPАДРЕСVDS

goto loop


9. Создаём службу. Запускаем cmd от имени админа, переходим в папку NSSM

cd C:\Program Files\nssm\win64

nssm install SSHTunnel

В открывшемся окне указать:

Path: C:\Windows\System32\cmd.exe

Startup directory: C:\Windows\System32

Arguments: /c "Здесь путь до tunnel.bat"

Нажать "Install service".

Открываеv службы, настраиваем запуск службы SSHTunnel от учётной записи, в которой создавали ключи. Файл tunnel.bat так же должен быть доступен для этой учётной записи. Настраиваем перезапуск службы при сбое. Запускаем службу, проверяем доступность порта

telnet localhost 1194

10. В конфиге OVPN подключения меняем IPАДРЕСVDS на localhost. Перезапускаем OVPN соединение. Радуемся.

PS. Если у вас не серверная ОС, скачиваете программу PersistentSSH, в бесплатной версии доступен 1 тоннель с авторизацией по логbну и паролю. Всё настраивается легко, просто и в GUI. Купить программу пока невозможно, сайт разработчика недоступен.

0
Автор поста оценил этот комментарий

Подпишусь почитать предложения. Тема интересная


В качестве костылей сейчас используется доп сетевой интерфейс в который включен кинетик , который сам подключается к vds через WG

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
VDS на Firstbyte, WG тоже режут.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества