{"id":3654,"date":"2015-08-30T22:29:13","date_gmt":"2015-08-31T03:29:13","guid":{"rendered":"http:\/\/www.filecloud.com\/blog\/?page_id=3654"},"modified":"2022-12-15T06:18:47","modified_gmt":"2022-12-15T12:18:47","slug":"create-your-own-virtual-private-network-for-ssh-with-putty","status":"publish","type":"page","link":"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/","title":{"rendered":"How to Make Virtual Private Network (VPN) for SSH with Putty"},"content":{"rendered":"<h1>Create your own Virtual Private Network for SSH with Putty<\/h1>\n<p><span style=\"text-decoration: underline;\">Introduction<\/span><\/p>\n<p>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.<\/p>\n<p><span style=\"text-decoration: underline;\">Requirements<br \/>\n<\/span><\/p>\n<ol>\n<li>Remote machine with Putty installed in it.<\/li>\n<li>Home router\u2019s internet accessible IP address or dynamic DNS (DDNS) address.<\/li>\n<li>One\/more Linux\/Windows machine(s) to which direct SSH access is required.<\/li>\n<li>On the router, port forwarding is enabled for SSH service to at least one of these machines.<\/li>\n<\/ol>\n<p><span style=\"text-decoration: underline;\">Setup<\/span><\/p>\n<p>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:<\/p>\n<ol>\n<li>Open a putty session and configure it to act as a tunnel.<\/li>\n<li>From this session connect to your default SSH server at home.<\/li>\n<li>Open another putty session and configure it use the previous putty session as proxy.<\/li>\n<li>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\u2019s IP address properly.<\/li>\n<li>You can make any number of connections to all your home machines by just repeating steps (3) and (4).<br \/>\nNote: If on the remote network\u2019s subnet is same as your home network\u2019s subnet then you might run into IP conflicts.<\/li>\n<\/ol>\n<figure><img decoding=\"async\" style=\"width: 100%;\" title=\"Create your own Virtual Private Network for SSH with Putty\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2021\/10\/create-your-own-virtual-private-network-for-ssh-with-putty.png\" alt=\"Create your own Virtual Private Network for SSH with Putty\"><figcaption style=\"text-align: center;\">Create your own Virtual Private Network for SSH with Putty<\/figcaption><\/figure>\n<p><span style=\"text-decoration: underline;\">Step-by-Step<\/span><\/p>\n<p>1) On the remote system, open putty enter the IP address or dynamic DNS (DDNS) name in the host name field. Select \u201cSSH\u201d as connection type. Port 22 will be selected which can be left alone unless you run the SSH service on a different port. <span style=\"text-decoration: underline;\">Note:<\/span> 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<\/p>\n<p>In our example,<br \/>\nHost Name = demo123.dyndns.org<br \/>\nPort= 22<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2015\/08\/step1.JPG\" alt=\"Remote home system network details\"><\/p>\n<p style=\"text-align: left;\" align=\"left\">2) In putty, on the left-hand navigation panel, open SSH option and select \u201cTunnels\u201d.<\/p>\n<p>In the tunnels screen, set these values<br \/>\nSource 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)<br \/>\nDestination Port: (Leave Blank)<br \/>\nFinally, select \u201cDynamic\u201d from the radio button options.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2015\/08\/step2.JPG\" alt=\"Tunnelling information for the proxy\" width=\"344\" height=\"332\"><\/p>\n<p>3) Important: Click \u201cAdd\u201d to add the tunnel settings to the connection.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2015\/08\/step3.JPG\" alt=\"Tunnel settings added\"><\/p>\n<p>4) On left-hand navigation panel, move the scrollbar to the top and click session. You will be seeing the settings entered in step(1). Now we can save the whole connection settings. Add a name for this connection in the saved sessions textbox and click save.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2015\/08\/step4.JPG\" alt=\"Saving the connection settings\"><\/p>\n<p>5) Click open, to open connection to home machine, and enter login and password information for the remote machine. This user need not be root user, but it needs to be an user with network access on the remote machine. That brings to the end of putty configuration. Now you have a proxy tunnel connection from remote machine to one of the home machine. Now we are ready to connect to any home machine.<\/p>\n<p style=\"text-align: left;\">6) Open another putty session. Select the options \u201cProxy\u201d from the navigation panel. On the right-side proxy options, enter only the following information. Don\u2019t change any other settings.<br \/>\nProxy type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : select \u201cSOCKS 4\u201d<br \/>\nProxy hostname\u00a0\u00a0\u00a0\u00a0 : enter \u201clocalhost\u201d<br \/>\nPort\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 3000<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1087 aligncenter\" title=\"Proxy Settings\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2015\/08\/sshot-23.png\" alt=\"Proxy Settings\" width=\"383\" height=\"366\"><\/p>\n<p style=\"text-align: left;\">7) Click on the \u201cSession\u201d option from the navigation panel. Enter a name under \u201cSaved Sessions\u201d text field. Don\u2019t enter any information in the \u201cHost Name\u201d field. Now click \u201cSave\u201d. Now we have a template connection session using our proxy.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1090\" title=\"Proxy template\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2015\/08\/sshot-33.png\" alt=\"Proxy template\" width=\"383\" height=\"366\"><\/p>\n<p style=\"text-align: left;\">8 ) Now enter local subnet IP address of a machine at home and click open. The connection gets routed through the proxy tunnel and you will be connected to the home machine directly. Similarly you can connect to another home machine by opening putty and loading the template we created and just filling in the machine\u2019s local subnet IP address.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1089\" title=\"Connect to home machine with local IP address\" src=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2015\/08\/sshot-43.png\" alt=\"Connect to home machine with local IP address\" width=\"383\" height=\"366\"><\/p>\n<p style=\"text-align: left;\">BTW, if you think just SSH access is not cool enough, you can do more cool stuff like<\/p>\n<ul>\n<li>Listening to music stored at home<\/li>\n<li>Viewing\/sharing photos at with friends and family<\/li>\n<li>Creating schedules, Todos, notes etc., securely at a home computer<\/li>\n<\/ul>\n<p>To get these functionalities checkout this free utility called Tonido. For more information on different applications bundled with Tonido you can read more Tonido related blog posts here.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Create your own Virtual Private Network for SSH with Putty Introduction 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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.13 (Yoast SEO v20.13) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Make Virtual Private Network (VPN) for SSH with Putty<\/title>\n<meta name=\"description\" content=\"Create your own virtual private network with Putty to get SSH access to all your home devices without setting up port forwarding or remembering any port number\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Make Virtual Private Network (VPN) for SSH with Putty\" \/>\n<meta property=\"og:description\" content=\"Create your own virtual private network with Putty to get SSH access to all your home devices without setting up port forwarding or remembering any port number\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/\" \/>\n<meta property=\"og:site_name\" content=\"FileCloud blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/tonidopage\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-15T12:18:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2021\/10\/create-your-own-virtual-private-network-for-ssh-with-putty.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@getfilecloud\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/\",\"url\":\"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/\",\"name\":\"How to Make Virtual Private Network (VPN) for SSH with Putty\",\"isPartOf\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/#website\"},\"datePublished\":\"2015-08-31T03:29:13+00:00\",\"dateModified\":\"2022-12-15T12:18:47+00:00\",\"description\":\"Create your own virtual private network with Putty to get SSH access to all your home devices without setting up port forwarding or remembering any port number\",\"breadcrumb\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.filecloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Make Virtual Private Network (VPN) for SSH with Putty\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#website\",\"url\":\"https:\/\/www.filecloud.com\/blog\/\",\"name\":\"FileCloud blog\",\"description\":\"Topics on Private cloud, On-Premises, Self-Hosted, Enterprise File Sync and Sharing\",\"publisher\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.filecloud.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#organization\",\"name\":\"FileCloud\",\"url\":\"https:\/\/www.filecloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.filecloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2016\/02\/filecloud_logo_comparison.jpg\",\"contentUrl\":\"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2016\/02\/filecloud_logo_comparison.jpg\",\"width\":155,\"height\":40,\"caption\":\"FileCloud\"},\"image\":{\"@id\":\"https:\/\/www.filecloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/tonidopage\",\"https:\/\/twitter.com\/getfilecloud\",\"https:\/\/www.linkedin.com\/company\/codelathe\",\"https:\/\/www.pinterest.com\/filecloud\/filecloud\/\",\"https:\/\/www.youtube.com\/channel\/UCbU5gTFdNCPESA5aGipFW6g\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Make Virtual Private Network (VPN) for SSH with Putty","description":"Create your own virtual private network with Putty to get SSH access to all your home devices without setting up port forwarding or remembering any port number","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/","og_locale":"en_US","og_type":"article","og_title":"How to Make Virtual Private Network (VPN) for SSH with Putty","og_description":"Create your own virtual private network with Putty to get SSH access to all your home devices without setting up port forwarding or remembering any port number","og_url":"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/","og_site_name":"FileCloud blog","article_publisher":"https:\/\/www.facebook.com\/tonidopage","article_modified_time":"2022-12-15T12:18:47+00:00","og_image":[{"url":"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2021\/10\/create-your-own-virtual-private-network-for-ssh-with-putty.png"}],"twitter_card":"summary_large_image","twitter_site":"@getfilecloud","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/","url":"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/","name":"How to Make Virtual Private Network (VPN) for SSH with Putty","isPartOf":{"@id":"https:\/\/www.filecloud.com\/blog\/#website"},"datePublished":"2015-08-31T03:29:13+00:00","dateModified":"2022-12-15T12:18:47+00:00","description":"Create your own virtual private network with Putty to get SSH access to all your home devices without setting up port forwarding or remembering any port number","breadcrumb":{"@id":"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.filecloud.com\/blog\/create-your-own-virtual-private-network-for-ssh-with-putty\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.filecloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Make Virtual Private Network (VPN) for SSH with Putty"}]},{"@type":"WebSite","@id":"https:\/\/www.filecloud.com\/blog\/#website","url":"https:\/\/www.filecloud.com\/blog\/","name":"FileCloud blog","description":"Topics on Private cloud, On-Premises, Self-Hosted, Enterprise File Sync and Sharing","publisher":{"@id":"https:\/\/www.filecloud.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.filecloud.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.filecloud.com\/blog\/#organization","name":"FileCloud","url":"https:\/\/www.filecloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.filecloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2016\/02\/filecloud_logo_comparison.jpg","contentUrl":"https:\/\/www.filecloud.com\/blog\/wp-content\/uploads\/2016\/02\/filecloud_logo_comparison.jpg","width":155,"height":40,"caption":"FileCloud"},"image":{"@id":"https:\/\/www.filecloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/tonidopage","https:\/\/twitter.com\/getfilecloud","https:\/\/www.linkedin.com\/company\/codelathe","https:\/\/www.pinterest.com\/filecloud\/filecloud\/","https:\/\/www.youtube.com\/channel\/UCbU5gTFdNCPESA5aGipFW6g"]}]}},"_links":{"self":[{"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/pages\/3654"}],"collection":[{"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/comments?post=3654"}],"version-history":[{"count":14,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/pages\/3654\/revisions"}],"predecessor-version":[{"id":34757,"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/pages\/3654\/revisions\/34757"}],"wp:attachment":[{"href":"https:\/\/www.filecloud.com\/blog\/wp-json\/wp\/v2\/media?parent=3654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}