{"id":200,"date":"2020-03-14T20:00:00","date_gmt":"2020-03-14T19:00:00","guid":{"rendered":"http:\/\/www.itgarage.ch\/?p=200"},"modified":"2025-01-24T17:32:13","modified_gmt":"2025-01-24T16:32:13","slug":"poormans-vpn-mit-ssh","status":"publish","type":"post","link":"http:\/\/www.itgarage.ch\/index.php\/2020\/03\/14\/poormans-vpn-mit-ssh\/","title":{"rendered":"SSH-tunneling &#8211; das &#171;Poormans VPN&#187;"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Die SSH erm\u00f6glicht es uns beliebige, unsichere, Protokolle durch einen SSH-gesicherten Tunnel zu leiten.<\/p>\n<\/blockquote>\n\n\n\n<p>In Zeiten in denen sich das HomeOffice etabliert, bzw. von offizieller Seite empfohlen wird (COVID-19 sei Dank) kann ein SSH-Tunnel auch Sysadmin@Home erm\u00f6glichen. Das mag jetzt etwas sarkastisch klingen, aber ich bin grosser Verfechter des Home@Office und der digitalen Nomaden und bin oft auf Ablehnung gestossen. Es braucht offenbar eine Pandemie um dieser Arbeitsform zum Durchbruch zu verhelfen.<br>Aber zur\u00fcck zum Thema: SSH-Tunnels erlauben es mir, auf Protokolle zuzugreifen welche in einem abgesicherten (privaten) Netz oder sogar auf der <em>Loopback<\/em>-Adresse (127.0.0.1) des jeweiligen Servers laufen. <\/p>\n\n\n\n<table id=\"tablepress-2\" class=\"tablepress tablepress-id-2\">\n<tbody class=\"row-hover\">\n<tr class=\"row-1\">\n\t<td class=\"column-1\">Lokal<\/td><td class=\"column-2\">SSH-Tunnel<\/td><td class=\"column-3\">Remote<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">127.0.0.1:4321<\/td><td class=\"column-2\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.itgarage.ch\/wp-content\/uploads\/2020\/03\/tunnel-clipart-vault-151309-16715.gif\" alt=\"\" width=\"158\" height=\"120\" class=\"alignnone size-full wp-image-201\" \/><\/td><td class=\"column-3\">127.0.0.1:1234<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">ssh user@server.example.com<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-2 from cache -->\n\n\n\n<p>In der Annahme, dass das Remote-System <em>server.example.com<\/em> heisst, f\u00fchre ich auf meiner lokalen Workstation (Lokal) den folgenden Aufruf aus:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:eclipse font-size:14 line-height:20 inline-margin:10 nums:false nums-toggle:false wrap-toggle:false whitespace-before:1 whitespace-after:1 lang:sh decode:true \">ssh user@server.example.org -L 4321:127.0.0.1:1234\n<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Ein Beispiel:<\/h3>\n\n\n\n<p>1.  Wir starten zuerst auf &#171;server.example.com&#187; einen &#171;<em>Listener&#187;<\/em> auf der Loopback-Adress (127.0.0.1) und Port 1234, dazu eignet sich &#171;nc -l&#187; und  horcht (listen):<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:eclipse font-size:14 line-height:20 nums:false nums-toggle:false whitespace-before:1 whitespace-after:1 lang:sh decode:true \">SERVER $ ssh user@server.example.com\nSERVER $ nc -l 127.0.0.1 1234\n<\/pre><\/div>\n\n\n\n<p>2. Wir erstellen den SSH-Tunnel wie oben beschrieben:<br>&#171;<strong>-L &lt;lokaler Port&gt;:&lt;Adresse&gt;:&lt;entfernter Port&gt;<\/strong>&#171;<\/p>\n\n\n\n<p>3. Auf unserem lokalen System verbinden wir uns nun mit Port 4321  und nat\u00fcrlich ebenfalls auf der Loopback-Adresse:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:eclipse nums:false nums-toggle:false whitespace-before:1 whitespace-after:1 lang:sh decode:true \">LOKAL $ nc 127.0.0.1 4321\nHallo Server&lt;ENTER\u00b0<\/pre><\/div>\n\n\n\n<p>&#8230; und sehen auf dem Server, wenig \u00fcberraschend:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:eclipse font-size:14 line-height:20 nums:false nums-toggle:false whitespace-before:1 whitespace-after:1 lang:sh decode:true \" >Hallo Server<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Fazit<\/h3>\n\n\n\n<p>Mit minimalem Aufwand bringen wir auf diese Weise alle Anwendungen (Services)  wie z.B. Microsoft Remote Desktop, Webmin und Co.. in unser HomeOffice.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die SSH erm\u00f6glicht es uns beliebige, unsichere, Protokolle durch einen SSH-gesicherten Tunnel zu leiten. In Zeiten in denen sich das&hellip;<\/p>\n","protected":false},"author":1,"featured_media":201,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,1],"tags":[],"class_list":["post-200","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-learning-bits","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/posts\/200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/comments?post=200"}],"version-history":[{"count":25,"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/posts\/200\/revisions"}],"predecessor-version":[{"id":399,"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/posts\/200\/revisions\/399"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/media\/201"}],"wp:attachment":[{"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/media?parent=200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/categories?post=200"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.itgarage.ch\/index.php\/wp-json\/wp\/v2\/tags?post=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}