====== 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 [[https://wiki.ubuntuusers.de/fuse/sshfs|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 ''/''.