PuTTY SSH port number
I have multiple Linux machines at my home. Previously, when I needed SSH access to these machines I used to setup port forwarding on my router to each of these machines. It was a tedious process of enabling port forwarding and then disabling it after use. It was also difficult to remember port number forwarded for a particular machine. But now I found a cooler way to get SSH access to all my machines at home without setting up port forwarding or remembering any port numbers and most importantly, I can address my home machines with local subnet IP address, no matter wherever I connect from the internet.
Requirements
- Home router’s internet accessible IP address or dynamic DNS (DDNS) address.
- One/more Linux/Windows machine(s) to which direct SSH access is required.
- On the router, port forwarding is enabled for SSH service to at least one of these machines.
Setup
The basic idea to get this working is that we make one initial SSH connection to our home machine. Then using this connection as a tunnel we can connect to any machines at home by addressing them with local sub-network address (such as 192.168.x.x). So the high level steps are:
- Open a putty session and configure it to act as a tunnel.
- From this session connect to your default SSH server at home.
- Open another putty session and configure it use the previous putty session as proxy.
- SSH connect to any machine at home using the local subnet IP address. Since we are using a proxy it will resolve the local subnet’s IP address properly.
- You can make any number of connections to all your home machines by just repeating steps (3) and (4).
Note: If on the remote network’s subnet is same as your home network’s subnet then you might run into IP conflicts.
Step-by-Step
1) On the remote system, open putty enter the IP address or dynamic DNS (DDNS) name in the host name field. Select “SSH” as connection type. Port 22 will be selected which can be left alone unless you run the SSH service on a different port. Note: Though your putty screen might look a little different than the one seen here due to version differences, the basic steps would be still the same
In our example,
Host Name = demo123.dyndns.org
Port= 22
2) In putty, on the left-hand navigation panel, open SSH option and select “Tunnels”.
In the tunnels screen, set these values
Source Port: 3000 (this is the port at which our proxy service listens to, this port can be changed to any but preferably a number larger than 1024)