Como configurar o SSH para se conectar através de um OpenVPN?

1

Tenho um desktop no trabalho que gosto de manter sincronizado com meus computadores domésticos usando o Unison, que se conecta por meio do SSH. Eu também às vezes gosto de remotamente para o computador de trabalho usando o SSH.

Minha rede de trabalho está iniciando uma nova política que só permitirá conexões de fora da rede se elas estiverem em uma VPN.

Existe uma maneira de ajustar minha configuração de SSH para que, sempre que tentar fazer login no computador de trabalho, ele passe pela VPN de trabalho?

Para ser claro, não quero ter que me conectar manualmente à VPN de trabalho toda vez que eu quiser que o SSH se conecte ao computador de trabalho. Eu também não quero estar permanentemente conectado ao trabalho VPN.

Observe que posso alterar livremente as configurações SSH do cliente (meus computadores domésticos) e do servidor (computador de trabalho). Além disso, não acho que isso deva importar, mas todas as máquinas em questão são caixas Linux. Estou usando o OpenSSH e o trabalho VPN é openVPN.

Esclarecimento: A principal razão pela qual eu quero não estar permanentemente conectado à VPN de trabalho é não ter que se preocupar em seguir seus termos de serviço. Então eu quero apenas que o tráfego SSH seja enviado através da VPN e nada mais.

    
por evencoil 20.07.2016 / 15:06

1 resposta

0

Várias opções vêm à minha mente.

Script da Shell

você poderia escrever um script de shell que

  • inicia o openVPN
  • inicia o SSH
  • pára o openVPN quando o SSH desconecta

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

Depois disso, você pode usar alias, por exemplo alias vpnssh='/home/scriptname.sh' e / ou adicionar isso ao seu .bashrc .

Proxycommand

Você pode tentar usar proxycommand do openSSH para isso:

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

nos dois casos

você precisa dizer ao openVPN que não deseja rotear tudo através do túnel. Então, considerando que 192.168.0.1 é a sua área de trabalho, adicione o seguinte ao seu arquivo de configuração openVPN

route-nopull route 192.168.0.1 255.255.255.255

use route 192.168.0.0 255.255.255.0 se você quiser alcançar toda a sub-rede.

    
por 20.07.2016 / 15:30