Is there any way I can connect home computers (Linux) from office computer (windows) using putty. If yes, please tell me the step to make the connection.
An easier way to set your home router to allow incoming connection to your Home PC (running Linux) is to set DMZ to your PC.
So as some people has mentioned (also to recap):
A few possible issues:
Pretty sure other people can point out some more possible issues, but give it a try for now and see how you go.
Hope this helps.
There are three options I am aware of
You can set up port forwarding for each device you want to be be able to connect to externally.
For each device you could assign an arbitrary external port that forwards to that device on port 22. (Or you can do this for one device, and then connect to the others through it)
Were you to make a VPN with your local network, and then connect to said VPN, it would give you access to everything on on the network.
With reverse SSH you make use of an external server, and set up a listening ssh session. Then, on the external server you can connect to the device behind the router without being bothered by firewalls/port forwarding/etc... This is what I prefer (as I haven't set up a VPN yet), but I have access to an external server.
You could do this with:
Then, on the remote server
Please do be careful about doing this from your work. IT security may not like it. Be very careful that it is within the company policy. To quote from Michael Lucas's SSH Mastery https://www.tiltedwindmillpress.com/ $9.99
"Suppose my desktop is inside a high-security network, however. The firewall tightly restricts Web browsing and blocks all file transfers. If I can use SSH to connect to a server outside the network, I could forward my desktop's traffic to that outside server to get unrestricted access to the Internet. I could upload confidential documents over SSH, and the firewall logs would show only that I made an SSH connection.
Tunnels versus Security Policy
If you're an organization's security officer, port forwarding might make you consider entirely blocking SSH. I understand. I've had your job. You should also know that a recalcitrant user can tunnel SSH inside DNS, HTTP, or almost any other service or protocol. The only way to absolutely block SSH is to deny all TCP or UDP connections from the inside of your network to the outside world, use a Web proxy that intelligently inspects traffic, and not allow your clients access to public DNS even through a proxy." Page 83
What you are trying is probably possible. Most company firewalls leave port 80 open as well as other ports. At the command prompt in Windows do "netstat -n" and you'll get a list of internal addresses with open ports e.g.
Proto Local Address Foreign Address State
TCP 10.96.144.75:49242 10.96.144.4:445 ESTABLISHED ...