I've got a remote home server running Debian. I happen to use SSH on a non-standard port due to ISP blocking port 22. I've got no issues connecting to SSHd from outside of my network with the OpenVPN client not running on the server. The second I start OpenVPN client I get the following:$ ssh -v -p 922 domain.dyndns.orgOpenSSH_6.7p1 Debian-5+deb8u3, OpenSSL 1.0.1t  3 May 2016debug1: Reading configuration data /home/user/.ssh/configdebug1: Reading configuration data /etc/ssh/ssh_configdebug1: /etc/ssh/ssh_config line 19: Applying options for *debug1: Connecting to domain.dyndns.org [1.2.3.4] port 922debug1: connect to address 1.2.3.4 port 922: Connection timed outssh: connect to host domain.dyndns.org port 922: Connection timed outI have a dynamic IP address but the server is behind a router so I can't think to bind sshd to the public address. Even if it could, I'm not convinced the packets wouldn't get lost through the tun0.On my travels of the Internet to try and resolve this issue, I found the following script.#!/bin/bashgrep -q fix_ssh /etc/init.d/openvpn || sed -i.backup -e '/start_vpn ()/ i fix_ssh () {\ip rule add fwmark 65 table novpn\ip route add default via 192.168.0.1 dev eth0 table novpn\ip route flush cache\iptables -t mangle -A OUTPUT -p tcp --sport 922 -j MARK --set-mark 65\iptables -A INPUT -i tun0 -p tcp -m tcp --dport 922 -j DROP\}\undo_fix_ssh () {\iptables -D INPUT -i tun0 -p tcp -m tcp --dport 922 -j DROP\iptables -t mangle -D OUTPUT -p tcp --sport 922 -j MARK --set-mark 65\ip route del default via 192.168.0.1 dev eth0 table novpn\ip rule del fwmark 65 table novpn\ip route flush cache\}'\   -e 's/start_vpn$/& \&\& fix_ssh/' \   -e 's/stop_vpn$/& \&\& undo_fix_ssh/' \/etc/init.d/openvpnI've tried running it to no success. Comparing to other answers I've found, I'm not entirely sure where the issue lies with this solution and I've run out of ideas for troubleshooting. I'm not entirely sure what the best approach to the issue is. The OpenVPN service is a commercial service I don't control.Edit:My goal is to be able to SSH into the SSH serve whilst it is running and connected to the OpenVPN server. I want all other traffic to go through the VPN. Eventually I want to use SSHFS to be able to view files on the SSH server and then port forwarding so my laptop miles away can share the same VPN connection.------------               ----------------|My Server |--->OpenVPN>---|Commercial VPN |-->Internet>--Web------------ Over internet |    Server     |    |                      -----------------   /|\   SSHOver Internet   /|\----------| Laptop |----------Edit 2: No, Laptop is in a different location to the SSHd server. Edited picture again for clarity.Edit 3: There is a router involved. The server is behind a router. tun0 is the OpenVPN connection.$ sudo /sbin/iptables-save# Generated by iptables-save v1.4.14 on Mon Dec 26 13:03:22 2016*mangle:PREROUTING ACCEPT [11077726:5767595109]:INPUT ACCEPT [9445198:5734927839]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [10132207:7571233156]:POSTROUTING ACCEPT [10132784:7571256515]-A OUTPUT -p tcp -m tcp --sport 922 -j MARK --set-xmark 0x41/0xffffffffCOMMIT# Completed on Mon Dec 26 13:03:23 2016# Generated by iptables-save v1.4.14 on Mon Dec 26 13:03:23 2016*filter:INPUT ACCEPT [9445173:5734925686]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [10132201:7571259291]-A INPUT -i tun0 -p tcp -m tcp --dport 922 -j DROPCOMMIT# Completed on Mon Dec 26 13:03:23 2016 Edit: Am I going to be better off having something like a Raspberry pi to ssh into to avoid this? Would I run into different difficulties? I'm still not sure of the root cause to know if this would resolve anything. Is a chain of SSH tunnels bad form? Idea being:[Laptop]->SSH->--------->-[Pi]-Same Network->-[My Server]->-[OpenVPN]              /|\                                [router]Edit:Kernel IP routing tableDestination     Gateway         Genmask         Flags   MSS Window  irtt Iface0.0.0.0         10.68.10.5      128.0.0.0       UG        0 0          0 tun00.0.0.0         192.168.0.1   0.0.0.0         UG        0 0          0 eth010.68.10.1      10.68.10.5      255.255.255.255 UGH       0 0          0 tun010.68.10.5      0.0.0.0         255.255.255.255 UH        0 0          0 tun0128.0.0.0       10.68.10.5      128.0.0.0       UG        0 0          0 tun0192.40.88.17    192.168.0.1   255.255.255.255 UGH       0 0          0 eth0192.168.0.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0Contents of a .ovpn file:clientdev tunproto udpremote server 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crttls-clientremote-cert-tls serverauth-user-pass auth.txtcomp-lzoverb 1reneg-sec 0crl-verify crl.pem# Allow calling of built-in executables and user-defined scripts.script-security 2# Parses DHCP options from openvpn to update resolv.confup /etc/openvpn/update-resolv-confdown /etc/openvpn/update-resolv-conf
SSH server also runs OpenVPN client - Inbound SSH times out
ssh;openvpn;sshd