Having trouble ssh-ing on port 22? Then try to use another port with help of your iptables firewall. With iptables it is possible (among other things) to redirect traffic on an incoming port to another port of your choice.
To save your current firewall setup you could choose to save your configuration with:
sudo iptables-save > ipfw.conf
Restoring your old configurations is as easy as:
sudo iptables-restore < ipfw.conf
Execute the following command to redirect traffic on port 443 to port 22:
sudo iptables -t nat -A PREROUTING -p tcp –dport 443 -j REDIRECT –to-ports 22
Now to create socks a tunnel on the 443 port execute the following command (add the -vvv option to get debugging info from ssh):
# -p443 Port to connect to on the remote host # -D8080 Specifies a local "dynamic" application-level port forwarding. # -C Request compression of all data # -N Do not execute a remote command (useful for port forwarding) # -i ... Identity file to use sudo ssh -p443 -D8080 -N uid@hostname -C -i /home/uid/.ssh/identity
To use this connection in the browser tell the browser to use a socks proxy on port 8080 or use the tsocks command to “socksify a tool” for example an ssh session to other servers.
tsocks ssh uid@hostname