Projekt

Allgemein

Profil

Aktionen

Howto ssh » Historie » Revision 1

Revision 1/2 | Weiter »
Jeremias Keihsler, 17.01.2020 10:54


ssh

ssh is installed by default

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.

ssh user@example.com

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:

ssh -t user@reachable ssh user@unreachable

X-session access

ssh -X user@example.com

starting a X-program inside the remote shell will bring up a local X-window.
baobab

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.

ssh -L 3501:localhost:3390 user@example.com

now you can connect to the e.g. remote vrdp-session by simply on your local machine.
rdesktop-vrdp -kde localhost:3501

"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):

ssh -N -D2000 user@example.com

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.

Von Jeremias Keihsler vor mehr als 4 Jahren aktualisiert · 1 Revisionen