Как передать скрипт с сервера для запуска на клиенте?

Как передать скрипт с сервера для запуска на клиенте?

У меня есть устройство, к которому я больше не могу подключиться (ssh, salt, ...), к которому нет простого физического доступа, но которое все еще открывает сеанс OpenVPN к моему серверу. Чтобы попытаться восстановить его, я хотел бы:

  • на сервере принудительно переподключить этого клиента
  • когда клиент переподключится - отправьте скрипт, который клиент выполнит (сначала я посмотрю, что происходит, с помощью дампа журналов и конфигураций, а затем, возможно, восстановлю правильные настройки)

Есть решение дляскрипты, которые будут запущены на клиенте после его подключенияно все предполагают, что это выбор клиента (= конфигурация на стороне клиента). Я ищу обратный путь.

Я вижу, что такой подход создает проблему безопасности (провайдер VPN может взять под контроль клиентский компьютер), но, может быть, есть способ, который неочевиден из документации?

решение1

Чтобы заставить клиента переподключиться, вы можете:

  • удалить определенную комбинацию исходного IP-адреса и исходного порта, используяiptablesвВЫХОДцепочка или адрес назначения и порт назначения вВХОДна более длительный период времени, чем интервал ping-restart,
  • завершить работу указанного клиента в интерфейсе управления OpenVPN:глянь сюда
  • перезапустите службу OpenVPN на сервере, все вышеперечисленное приведет к новому симметричному обмену ключами, новым сокетам и новому номеру порта назначения.

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

  • Вам не повезло. Скрипты настраиваются и должны располагаться на стороне клиента, насколько мне известно, даже ccd OpenVPN не позволяет этого, на стороне клиента также требуется правильная директива конфигурации "pull" - чтобы сервер мог извлекать самые основные параметры туннеля, такие как: шифр, размеры буфера, сжатие, маршруты и т. д., но не директивы конфигурации скриптов.
  • в конфигурации по умолчанию OpenVPN работает без привилегий nobody,
  • это было бы дырой в безопасности.

Связанный контент