eve*_*oil 6 ssh openvpn openssh
我在工作时有一台桌面,我喜欢使用 Unison(通过 SSH 连接)与我的家用计算机保持同步。有时我也喜欢使用 SSH 远程访问工作计算机。
我的工作网络正在启动一项新策略,该策略仅允许来自网络外部的连接(如果通过 VPN)。
有没有办法可以调整我的 SSH 配置,以便每当它尝试登录工作计算机时,都会通过工作 VPN?
需要明确的是,我不想每次想要 SSH 连接到工作计算机时都手动连接到工作 VPN。我也不想永久连接到工作 VPN。
请注意,我可以自由更改客户端(我的家庭计算机)和服务器(工作计算机)的 SSH 配置。另外,我认为这并不重要,但所有有问题的机器都是 Linux 机器。我使用的是 OpenSSH,工作 VPN 是 openVPN。
澄清:我不想永久连接到工作 VPN 的主要原因是不必担心遵守他们的服务条款。所以我只想通过 VPN 发送 SSH 流量,而不是其他任何东西。
我想到了几个选择。
你可以写一个shell脚本
当 SSH 断开连接时停止 openVPN
#!/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.
您可以尝试使用 openSSHproxycommand来实现:
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如果您想到达整个子网,请使用。
| 归档时间: |
|
| 查看次数: |
22103 次 |
| 最近记录: |