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
-Laktiviert die Portweiterleitung4444Port auf dem lokalen Rechner (von dem aus der Tunnel erstellt wird)192.168.0.3Rechner (in einem privaten Netzwerk), der über den Tunnel erreichbar sein soll80Port des Zielrechners, der erreichbar sein soll (z.B. Port 80 für den Webserver)rechner.domain.deRechner, über den der Tunnel laufen soll (Dieser Rechner muss direkt erreichbar sein und muss Zugriff auf den Zielrechner haben)22Port des Rechnersrechner.domain.de, auf dem der SSH-Daemon läuft. Port 22 ist Standard und muss nicht extra angegeben werden.-Cschaltet 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/benutzerZielrechner und Verzeichnnis auf Zielrechner. Wenn man auf dem anderen Rechner einen anderen Benutzernamen hat, mugibt man diesen mit an:benutzername@andererrechner:/home/benutzer/mnt/benutzerZielverzeichnis auf lokalem Rechner. Es kann ein beliebiges Verzeichnis verwendet werden. Wenn man kein Verzeichnis angibt, landet man auf/.-p 22Port 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)benutzernameBenutzername auf dem Server. Kann weggelassen werden, wenn man auf dem Server den gleichen Namen hat, wie auf dem lokalen PC.meinserverServername, ggf. mit vollständiger Adresse (z.B.: meinserver.hoster.de)22Port auf dem Server. 22 ist der Standard-Port und muss nicht angegeben werden./pfad/zum/VerzeichnisVerzeichnis, welches angezeigt werden soll. Wenn man hier nichts angibt, landet man auf/.
