Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:ssh

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 Portweiterleitung
  • 4444 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 soll
  • 80 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 Rechners rechner.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 /.
linux/ssh.txt · Zuletzt geändert: 2017/11/30 12:07 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki