Inhaltsverzeichnis
SSH
SSH-Tunnel
man kann über SSH andere Protokolle / Ports tunneln. Beispiel: Auf einen Webserver, der nur aus einem privaten Netzwerk erreichbar ist, von Außen zugreifen. Dazu kann man einen SSH-Tunnel über einen Rechner erstellen, der Zugriff auf beide Netze hat.
ssh -L 4444:192.168.0.3:80 rechner.domain.de -p 22 -C
-L
aktiviert die Portweiterleitung4444
Port auf dem lokalen Rechner (von dem aus der Tunnel erstellt wird)192.168.0.3
Rechner (in einem privaten Netzwerk), der über den Tunnel erreichbar sein soll80
Port des Zielrechners, der erreichbar sein soll (z.B. Port 80 für den Webserver)rechner.domain.de
Rechner, über den der Tunnel laufen soll (Dieser Rechner muss direkt erreichbar sein und muss Zugriff auf den Zielrechner haben)22
Port des Rechnersrechner.domain.de
, auf dem der SSH-Daemon läuft. Port 22 ist Standard und muss nicht extra angegeben werden.-C
schaltet die komprimierte Datenübertragung ein. Dies ist sinnvoll bei langsamen Verbindungen.
Wenn man den Tunnel wie im Beispiel geöffnet hat, ist der Webserver, der auf 192.168.0.3
läuft, lokal auf Port 4444 erreichbar. Wenn man jetzt einen Browser startet und die Adresse localhost:4444
eingibt, erscheint die Webseite vom Server 192.168.0.3
, der sonst nur aus dem privaten Netzwerk erreichbar wäre.
Tunnel schließen
Um den SSH-Tunnel wieder zu schließen, meldet man sich einfach vom Server ab.
exit
oder Strg
+D
SSHFS
Mit SSHFS kann man Verzeichnisse von anderen Rechnern, auf denen man sich über SSH einloggen kann, lokal mounten. So kann man darauf zugreifen, wie auf lokale Datenträger oder NFS-Mounts. Siehe auch wiki.ubuntuusers.de/fuse/sshfs.
Auf dem lokalen Rechner muss SSHFS installiert sein.
apt-get install sshfs
Auf dem Server muss ein SSH-Server laufen.
apt-get install openssh-server
Beispiel:
sshfs andererrechner:/home/benutzer /mnt/benutzer -p 22 -o idmap=user -o uid=$(id -u) -o gid=$(id -g)
andererrechner:/home/benutzer
Zielrechner und Verzeichnnis auf Zielrechner. Wenn man auf dem anderen Rechner einen anderen Benutzernamen hat, mugibt man diesen mit an:benutzername@andererrechner:/home/benutzer
/mnt/benutzer
Zielverzeichnis auf lokalem Rechner. Es kann ein beliebiges Verzeichnis verwendet werden. Wenn man kein Verzeichnis angibt, landet man auf/
.-p 22
Port des Zielrechners, auf dem der SSH-Daemon läuft. Port 22 ist Standard und muss nicht extra angegeben werden.-o idmap=user -o uid=$(id -u) -o gid=$(id -g)
aktiviert User-Mapping. Dies ist notwendig, wenn man auf dem Zielrechner eine andere User-ID oder Group-ID hat. Siehe auch die Ubuntuusers-Seite oben.
unmounten
Über SSHFS gemountetes Verzeichnis unmounten:
fusermount -u /mnt/benutzer
Statt /mnt/benutzer
das auszuhängende Verzeichnis angeben.
grafisch
Man kann sich auch mit einem grafischen Dateibrowser mit einem SFTP-Server verbinden.
- Bei Thunar z.B.: Gehen zu → Ort öffnen…
- Dort eingeben:
sftp://benutzername@meinserver:22/pfad/zu/Verzeichnis
sftp://
Protokoll (SFTP)benutzername
Benutzername auf dem Server. Kann weggelassen werden, wenn man auf dem Server den gleichen Namen hat, wie auf dem lokalen PC.meinserver
Servername, ggf. mit vollständiger Adresse (z.B.: meinserver.hoster.de)22
Port auf dem Server. 22 ist der Standard-Port und muss nicht angegeben werden./pfad/zum/Verzeichnis
Verzeichnis, welches angezeigt werden soll. Wenn man hier nichts angibt, landet man auf/
.