1

У меня есть рабочий стол, который я люблю синхронизировать с домашними компьютерами с помощью Unison, который подключается через SSH. Мне также иногда нравится удаленно подключаться к рабочему компьютеру, используя SSH.

Моя рабочая сеть запускает новую политику, которая будет разрешать подключения извне, только если они через VPN.

Есть ли способ, которым я могу настроить мою конфигурацию SSH так, чтобы всякий раз, когда он пытается войти в систему на рабочем компьютере, он проходил через рабочую VPN?

Чтобы было ясно, я не хочу вручную подключаться к рабочему VPN каждый раз, когда я хочу, чтобы SSH подключался к рабочему компьютеру. Я также не хочу постоянно подключаться к работе VPN.

Обратите внимание, что я могу свободно изменять настройки SSH клиента (мои домашние компьютеры) и сервера (рабочий компьютер). Кроме того, я не думаю, что это должно иметь значение, но все рассматриваемые машины являются Linux-блоками. Я использую OpenSSH, и работа VPN - openVPN.

Пояснение: главная причина, по которой я не хочу быть постоянно подключенным к рабочей VPN, заключается в том, чтобы не беспокоиться о соблюдении условий их обслуживания. Поэтому я хочу, чтобы только трафик SSH отправлялся через VPN и ничего больше.

1 ответ1

0

Несколько вариантов приходят на ум.

Shell Script

Вы могли бы написать сценарий оболочки, который

  • запускает openVPN
  • запускает SSH
  • останавливает openVPN при отключении SSH

    #!/bin/bash /usr/bin/openvpn /home/user/ovpn/config.ovpn ssh user@host pkill -SIGTERM -f 'openvpn --conf /home/user/ovpn/config.ovpn'

После этого вы можете создать псевдоним, например, alias vpnssh='/home/scriptname.sh' , и / или добавить его в свой .bashrc .

ProxyCommand

Для этого вы можете попробовать использовать прокси- proxycommand :

ssh -o ProxyCommand="/usr/bin/openvpn /home/user/ovpn/config.ovpn" user@host

в обоих случаях

вам нужно сообщить openVPN, что вы не хотите маршрутизировать все через туннель. Итак, учитывая, что 192.168.0.1 - ваш рабочий стол, добавьте следующее в ваш конфигурационный файл openVPN

route-nopull route 192.168.0.1 255.255.255.255

используйте route 192.168.0.0 255.255.255.0 если вы хотите охватить всю подсеть.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .