pvpn - VPN over SSH
pvpn sets up VPN connections via SSH servers. This can be useful to either get easy access to a private network, or to encrypt all Internet traffic when on a public network. pvpn is only little more than a wrapper around OpenSSH ssh(1), but provides a convenient interface to set up VPNs.
- -h, --help
-
Show help and exit.
- -v, --version
-
Show version and exit.
- -d, --debug
-
Trace code execution.
- -t TYPE, --type TYPE
-
Type of tunnel. Valid options are:
-
ppp
(ppp over ssh) -
ssh-3
(OpenSSH Layer 3)
-
- -i IP1:IP2, --ip IP1:IP2
-
Use IP1 for local and IP2 for remote tunnel device IPs. Default
any:any
, which becomes 10.b.c.1:10.b.c.2 where b and c are random. - -s SSH-IP, --first-ssh-hop SSH-IP
-
Tell IP address or hostname of first SSH server. Needed when you connect through reverse tunnels or intermediate servers with
ProxyCommand
. - -D, --inherit-dns
-
Inherit DNS settings from SSH-HOST. When disconnecting, the current DNS settings will be restored.
- -S [DEVICE], --stop [DEVICE]
-
Stop tunnel with client device DEVICE, or all if no DEVICE is given, then exit.
Gain access to the 192.168.xxx.yyy network at work
$ pvpn -i 10.10.0.1:10.10.0.2 root@work 192.168.0.0/16
Encrypt all IP traffic, e.g. when on a public wifi using OpenSSH Layer 3
$ pvpn -t ssh-3 root@secureproxy default
Works-for-me™. Developed and tested on Arch Linux. If you’re interested in porting or hacking, see https://www.github.com/halhen/pvpn.
Please report bugs at https://www.github.com/halhen/pvpn or to [email protected].