Howto ssh » Historie » Revision 3
Revision 2 (Jeremias Keihsler, 13.01.2017 09:53) → Revision 3/4 (Jeremias Keihsler, 04.01.2020 23:32)
h1. ssh *ssh* is installed by default h2. basic ssh usage the most *nix-style way of getting help for @ssh@ is @man ssh@. I assume that the @ssh@ port is @22@ and the involved firewalls are setup accordingly. <pre><code class="bash"> ssh user@example.com </code></pre> h2. ssh usage through another machine What if you can't reach a machine directly but through a machine in between? Of course you could @ssh@ twice, more compact form is: <pre><code class="bash"> ssh -t user@reachable ssh user@unreachable </code></pre> h2. X-session access <pre><code class="bash"> ssh -X user@example.com </code></pre> starting a X-program inside the remote shell will bring up a local X-window. <pre><code class="bash"> baobab </code></pre> h2. Port forwarding to local machine the following command will forward port 3390 (e.g. @vrpd@) on @example.com@ to local 3501. This is useful when a given port is only accessible local on a remote machine but not accessible from outside. <pre><code class="bash"> ssh -L 3501:localhost:3390 user@example.com </code></pre> now you can connect to the e.g. remote @vrdp@-session by simply on your local machine. <pre><code class="bash"> rdesktop-vrdp -kde localhost:3501 </code></pre> h2. "dynamic tunnel port" for use as socks.proxy Ein virtuelles Privates Netzwerk (VPN) bindet entfernte Nutzer über das Internet in ein lokales Netzwerk ein. Das geschieht im Allgemeinen transparent, d.h. für die Nutzerinnen und Nutzer sieht es so aus, als ob sie sich beispielsweise im Uni-Netz befinden. Alle Netzdienste in einem Firmen- Heim- oder Universitätsnetz können dann unterwegs so genutzt werden, als ob man vor Ort wäre. Sehr häufig geht es aber nur um einen einzigen Netzdienst, nämlich das Web. An der Universität Duisburg-Essen werden viele Dinge heute webbasiert erledigt. Allerdings erfordern viele Seiten, dass sich der Nutzer im IP-Adressbereich der Uni befindet. Warum also ein vollständiges VPN verwenden, wenn eigentlich nur die Verbindungen über die Ports 80 (http) und 443 (https) genutzt werden? Eine Möglichkeit http- und https-Verbindungen umzuleiten ist ein Web-Proxy, der auf Protokollebene zwischen dem Browser und dem Web vermittelt. Dazu muss aber ein dezidierter Proxy-Server betrieben werden, der von außerhalb des Uni-Netzes zugänglich ist. Alternativ realisiert ein sogenannter Socks-Proxy so etwas auf Socket-Ebene also über TCP/IP Ports. Ein Tunnel sie alle zu knechten … Alle aktuelle Browser unterstützen die Verbindung auch über einen Socks-Proxy. Wer Login-Zugriff per SSH auf einen Rechner in dem Zielnetz hat, kann sehr einfach einen Socks-Proxy per SSH-Tunnel realisieren. Das ist beispielsweise an der Universität Duisburg-Essen für alle Nutzer der Fall. Alle Mitarbeiter haben mit ihrer Unikennung Zugriff auf staff.uni-due.de und alle Studierende können die Maschine student.uni-due.de mit ihrer Kennung nutzen. Linux/MacOS/Unix: Unter unixoiden Betriebsystemen wie Linux und MacOS geht das sehr einfach mit Bordmitteln auf der Kommandozeile (hier mit staff.uni-due.de für Mitarbeiter): <pre><code class="bash"> ssh -N -D2000 user@example.com </code></pre> Der Parameter -N verhindert hier den Aufbau einer interaktiven Shell-Verbindung. Der Parameter -D gibt den lokalen Zugriffsport für den dynamischen Tunnel an. Diesen Port wählt man unter Unix geschickter Weise oberhalb von 1023, damit keine Root-Rechte erforderlich sind. !Firefox_SocksProxy_settings.png!