Доступ к локальной сети. SSH туннель VPS — OpenWRT

Создание службы SSH-туннеля на OpenWRT с Dropbear

Предварительно устанавливаем SSH-ключи для аутентификации

ssh-keygen -t rsa -b 4096  # Генерация SSH-ключей
копирование ключа вручную

На OpenWRT:
cat ~/.ssh/id_rsa.pub Скопируйте вывод.

На VPS:
mkdir -p ~/.ssh echo "ВАШ_КЛЮЧ" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Проверьте настройки SSH на сервере VPS

На сервере (VPS) проверьте конфигурацию SSH:

nano /etc/ssh/sshd_config

Убедитесь, что следующие параметры установлены правильно:

GatewayPorts yes

Если строки отсутствуют, добавьте их.

1. Проверьте, установлен ли Dropbear

Убедитесь, что Dropbear установлен и работает (по умолчанию он включён в OpenWRT):

opkg update
opkg install dropbear

2. Создайте конфигурацию SSH

Dropbear использует стандартные параметры SSH, но поддерживает только файл настроек .ssh/config. Вам нужно будет создать конфигурационный файл для туннеля:

touch /root/.ssh/config
chmod 600 /root/.ssh/config

Добавьте настройки туннеля в файл:

Host tunneling
    HostName <IP_VPS>
    User <Пользователь_VPS>
    Port 22
    IdentityFile /root/.ssh/id_rsa
    RemoteForward 8080 localhost:80
    RemoteForward 2222 localhost:22
    ServerAliveInterval 30
    ServerAliveCountMax 3
  • Вместо localhost лучше указать IP адрес LAN интерфейса
  • Таким образом Вы можете добавить любые адреса в локальной сети, переадресация будет работать.

3. Создайте init-скрипт

Создайте файл /etc/init.d/ssh-tunnel:

touch /etc/init.d/ssh-tunnel
chmod +x /etc/init.d/ssh-tunnel

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

#!/bin/sh /etc/rc.common

START=99
STOP=10

USE_PROCD=1
PROG="/usr/bin/ssh"

start_service() {
    procd_open_instance
    procd_set_param command $PROG -NT -F /root/.ssh/config tunneling
    procd_set_param respawn 10 5 0
    procd_close_instance
}

4. Активируйте службу

  1. Включите службу в автозагрузку:
/etc/init.d/ssh-tunnel enable

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

/etc/init.d/ssh-tunnel start

Как это работает

  • Служба автоматически запускает SSH-туннель при старте роутера.
  • Используется конфигурация Dropbear из файла /root/.ssh/config.
  • Служба будет автоматически перезапускаться при сбоях благодаря параметру respawn