Bearbeiten von „SSH

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 5: Zeile 5:
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]


=== Benutzung (Simples Einloggen) ===
=== Simples Einloggen ===
 
==== Linux / Mac / andere Unixoide ====
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:
<pre>
<pre>
Zeile 13: Zeile 11:
</pre>
</pre>
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.
==== Windows (ab Windows 10) ====
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.
==== Windows (bis Windows 8) ====
Wenn man kein WSL zur Verfügung hat, kann man stattdessen die Software PuTTY verwenden, welches aber etwas hakelig ist, z.B. bietet die Shell standardmäßig nicht den Comfort, den man von einem Linux-Terminal gewöhnt ist. Allerdings kann man die Konfiguration mit einer GUI erledigen, was für manche bestimmt ein Pluspunkt ist.
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.


=== Konfiguration ===
=== Konfiguration ===
Zeile 33: Zeile 21:
   HostName rzssh1.informatik.uni-hamburg.de
   HostName rzssh1.informatik.uni-hamburg.de
</pre>
</pre>
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.


=== Parameter / Konfigurationseinträge ===
=== Parameter / Konfigurationseinträge ===
Zeile 40: Zeile 26:
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.


Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir <pre>man ssh_config</pre> und <pre>man ssh</pre> an.
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir <pre>man ssh_config</pre> an.


==== Arbeiten mit Wildcards ====
==== Arbeiten mit Wildcards ====
Zeile 74: Zeile 60:
oder per Parameter
oder per Parameter
<pre>
<pre>
$ ssh -X <user>@<host>
$ ssh -X <host>
</pre>
</pre>
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.
Zeile 80: Zeile 66:
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.


Wenn die Performance immer noch zu schlecht ist, kann man statt direktem SSH mit X-Forwarding auch die Software [[X2GO]] ausprobieren, welche meistens eine bessere Performance hat, wofür allerdings auf dem Host der X2GO-Server installiert sein muss, wie das z.B. beim [[#DKRZ|DKRZ]] der Fall ist.
Wenn die Performance immer noch zu schlecht ist, kann man statt direktem SSH mit X-Forwarding auch die Software X2GO ausprobieren, welche meistens eine bessere Performance hat, wofür allerdings auf dem Host der X2GO-Server installiert sein muss, wie das z.B. beim [[#DKRZ|DKRZ]] der Fall ist.


==== DynamicForward ====
==== DynamicForward ====
Zeile 146: Zeile 132:
oder per Parameter
oder per Parameter
<pre>
<pre>
$ ssh -p 42 <user>@<host>
$ ssh -p 42 <host>
</pre>
</pre>
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:
Vorsicht: Bei [[#Dateitransfer|scp]] wird der Parameter groß geschrieben:
<pre>
<pre>
$ scp -P 42 <user>@<host>:~/eine/datei ./
$ scp -P 42 <host>:~/eine/datei ./
</pre>
</pre>


Zeile 161: Zeile 147:
Alternativ geht das über den Parameter
Alternativ geht das über den Parameter
<pre>
<pre>
$ ssh -C <user>@<host>
$ ssh -C <host>
</pre>
</pre>


Zeile 171: Zeile 157:
   ServerAliveCountMax 100
   ServerAliveCountMax 100
   TCPKeepAlive yes
   TCPKeepAlive yes
</pre>
==== IdentitiesOnly ====
Wenn man feststellt, dass man trotz Public-Key-Authentifizierung häufig sein Passwort eingeben muss, wenn man sich bei rzssh* einloggt, kann man versuchen, ob folgender Eintrah in der SSH-Config das Problem löst:
<pre>
Host fbi
  IdentitiesOnly yes
</pre>
</pre>


Zeile 184: Zeile 163:
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].
 
*Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!*
'''Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!'''


==== Public-Key-Authentifizierung ====
==== Public-Key-Authentifizierung ====
Zeile 241: Zeile 219:
  ./meine-datei
  ./meine-datei


Ein weiterer Nachteil von der Lösung mit expect ist, dass man ohne weiteres keine Datenströme durch SSH pipen kann, um z.B. per SSH zu [[drucken]], und dass das ganze mit [[#scp|scp]] nicht funktioiniert.
Ein weiterer Nachteil von der Lösung mit expect ist, dass man ohne weiteres keine Datenströme durch SSH pipen kann, um z.B. per SSH zu [[drucken]], und dass das ganze mit [[#Dateitransfer|scp]] nicht funktioiniert.


Ein weiterer Vorteil allerdings ist, dass man sich hiermit auch ohne Passwort über einen Proxy / LoginNode (siehe [[#ProxyJump|ProxyJump]]) auf einen anderen Rechner einloggen kann, ohne (im schlimmsten Fall zweimal) sein Passwort eingeben zu müssen. Hierbei werden natürlich die Nachteile aus dem letzten Absatz nicht aufgehoben.
Ein weiterer Vorteil allerdings ist, dass man sich hiermit auch ohne Passwort über einen Proxy / LoginNode (siehe [[#ProxyJump|ProxyJump]]) auf einen anderen Rechner einloggen kann, ohne (im schlimmsten Fall zweimal) sein Passwort eingeben zu müssen. Hierbei werden natürlich die Nachteile aus dem letzten Absatz nicht aufgehoben.
Zeile 272: Zeile 250:
Ein simples Beispiel sähe in etwa so aus für ssh und scp:
Ein simples Beispiel sähe in etwa so aus für ssh und scp:
<pre>
<pre>
$ echo 'geheimes-pw' | sshpass ssh <user>@<host>
$ echo 'geheimes-pw' | sshpass ssh <host>
$ echo 'geheimes-pw' | sshpass scp <user>@<host>:~/eine/datei ./
$ echo 'geheimes-pw' | sshpass scp <host>:~/eine/datei ./
</pre>
</pre>


Zeile 281: Zeile 259:


==== Passwort aus Keyring auslesen ====
==== Passwort aus Keyring auslesen ====
Die beiden letzten Verfahren hatte beide den Nachteil, dass man irgendwo sein Passwort im Klartext hinterlegen muss, was unschön ist. Allerdings kann man das einfach umgehen, indem man das Passwort einfach im Schlüsselbund des eigenen Linux-Systems ablegt. Bei gtk-/gnome-basierten Distributionen kann man z.B. gnome-keyring-query benutzen (unter KDE kwallet-query).
Die beiden letzten Verfahren hatte beide den Nachteil, dass man irgendwo sein Passwort im Klartext hinterlegen muss, was unschön ist. Allerdings kann man das einfach umgehen, indem man das Passwort einfach im Schlüsselbund des eigenen Linux-Systems ablegt. Bei gtk-/gnome-basierten Distributionen kann man z.B. gnome-keyring-query benutzen.
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:
<pre>
<pre>
Zeile 310: Zeile 288:


=== Dateitransfer ===
=== Dateitransfer ===
==== scp ====
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:
<pre>
$ scp <user>@<host>:~/pfad/zu/einer/datei ./
# oder:
$ scp -r <user>@<host>:~/pfad/zu/einem/ordner ./
</pre>
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus
<pre>
$ scp ./pfad/zur/datei <user>@<host>:~/pfad/vom/zielverzeichnis/
</pre>
==== SFTP / SSHFS ====
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:
<pre>
$ sshfs <user>@<host>:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner
</pre>
==== FileZilla ====


Per Software wie FileZilla kann auch unter Windows und mit einer grafischen Oberfläche eine Verbindung mit dem eigenen Laufwerk am Informatikum hergestellt werden, um Dateien beispielsweise auf den eigenen Rechner zu Hause zu kopieren. Dafür gibt man folgendes ein:
Per Software wie FileZilla kann auch unter Windows und mit einer grafischen Oberfläche eine Verbindung mit dem eigenen Laufwerk am Informatikum hergestellt werden, um Dateien beispielsweise auf den eigenen Rechner zu Hause zu kopieren. Dafür gibt man folgendes ein:
Zeile 384: Zeile 339:
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.


Für rechenaufwändige Anwendungen gibt es die ccblades ccblade{1..9}, auf die man sich per SSH von rzssh{1,2} anmelden kann, welche eine Woche im voraus über das iRZ reserviert werden können.
Für rechenaufwändige Anwendungen gibt es die ccblades ccblade{1,9}, auf die man sich per SSH von rzssh{1,2} anmelden kann, welche eine Woche im voraus über das iRZ reserviert werden können.


=== DKRZ ===
=== DKRZ ===
Zeile 405: Zeile 360:
$ ssh west7
$ ssh west7
</pre>
</pre>
Im DKRZ ist übrigens ein [[X2GO]]-Server installiert, sodass man X2GO statt [[#X-Forwarding|X-Forwarding]] benutzen kann, da X-Forwarding häufig sehr langsam ist.
Weitere Infos gibt es im [https://wr.informatik.uni-hamburg.de/teaching/ressourcen/beginners_guide Beginners Guide des DKRZ].


=== ZBH ===
=== ZBH ===
Zeile 414: Zeile 365:
Das Zentrum für Bioinformatik hat auch einen Login-Node, welcher unter der Adresse bari.zbh.uni-hamburg.de zu erreichen ist, allerdings nur über [[#Port|Port]] 7373.
Das Zentrum für Bioinformatik hat auch einen Login-Node, welcher unter der Adresse bari.zbh.uni-hamburg.de zu erreichen ist, allerdings nur über [[#Port|Port]] 7373.


Von hier aus kann man sich unter anderem auf die Desktop-Rechner per SSH verbinden, welche die Namen von Seen (mondsee, chiemsee, ...), Inseln (ruegen, ...), oder ähnlichem tragen. Das Einrichten eines SSH-Tunnels über bari ist [https://wiki.zbh.uni-hamburg.de/doku.php?id=IT:ZBH_Informationen:SSH_Tunnel hier im ZBH-Wiki] genauer beschrieben (Zugriff nur mit ZBH-Kennung). Da die meisten Studierenden auf bari kein home-Verzeichnis haben, erübrigt sich Public-Key-Authentifizierung. Man kann natürlich mit einem [[#ProxyJump|ProxyJump]] arbeiten, muss dann aber zweimal sein Passwort eingeben, oder man verwendet [[#sshpass|sshpass]], muss dann aber im ZBH noch einmal sein Passwort eingeben, oder man verwendet ein [[#expect|expect-Skript]], wodurch man zwar sein Passwort nicht mehr eingeben muss, aber auch keine mehr Dateien durch SSH pipen kann.
Von hier aus kann man sich unter anderem auf die Desktop-Rechner per SSH verbinden, welche die Namen von Seen (mondsee, chiemsee, ...), Inseln (ruegen, ...), oder ähnlichem tragen. Die Desktop-Rechner werden gleichzeitig als Teil eines Compute Clusters eingesetzt. Allerdings funktionieren die Kennungen von Studierenden, die lediglich Programmierung für Naturwissenschaften machen, meistens nur auf den Seen.


Die Desktop-Rechner werden gleichzeitig als Teil eines Compute Clusters auf Basis der Sun Grid Engine (SGE) eingesetzt. Allerdings funktionieren die Kennungen von Studierenden, die lediglich Programmierung für Naturwissenschaften belegen, meistens nur auf den Seen. Die ingesamt verfügbaren Rechner können mit qhost aufgelistet werden, für diesen Command und die Clusterbenutzung allgemein [https://wiki.zbh.uni-hamburg.de/doku.php?id=IT:ZBH_Informationen:Cluster:start siehe hier im ZBH-Wiki]. Eine Übersicht über die Cluster-Auslastung pro Teilcluster oder Node [http://forli.zbh.uni-hamburg.de/ganglia/ gibt es hier].
Da die meisten Studierenden auf bari kein home-Verzeichnis haben, erübrigt sich Public-Key-Authentifizierung. Man kann natürlich mit einem ProxyJump arbeiten, muss dann aber zweimal sein Passwort eingeben, oder man verwendet sshpass, muss dann aber im ZBH noch einmal sein Passwort eingeben, oder man verwendet ein expect-Skript, wodurch man zwar sein Passwort nicht mehr eingeben muss, aber auch keine mehr Dateien durch SSH pipen kann.


=== RRZ ===
=== RRZ ===


Das [[RRZ|Regionale Rechenzentrum (RRZ)]] betreibt ein HPC-Cluster namens Hummel, auf dem zu großem Teil Arbeitsgruppen der theoretischen Chemie rechnen. Alles Wichtige zur Hummel-Nutzung findet man auf der [https://www.rrz.uni-hamburg.de/services/hpc/hummel-2015.html Website]
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.


Außerdem ist das RRZ Mitglied im [https://www.hlrn.de/ Norddeutschen Verbund für Hoch- und Höchstleistungsrechnen].
Es gibt wohl auch Compute Nodes, z.B. Hummel.


=== Physik / Physnet ===
=== Physik / Physnet ===
Zeile 428: Zeile 379:
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de


Von dort kann man sich weiterverbinden auf die Nodes compile{1,2} und compile-avx, welche für Testen, Kompilieren, und kurze rechenintensive Arbeiten gedacht sind, und graphix{01,02}, welche wie compile{1,2} sind, aber mit GPUs.
Von dort kann man sich weiterverbinden auf die Nodes compile{1,2}, welche für Testen, Kompilieren, und kurze rechenintensive Arbeiten gedacht sind, und graphix{01,02}, welche wie compile{1,2} sind, aber mit GPUs.
 
In der Physik läuft ebenfalls die Sun Grid Engine. Man kann sich über qlogin auf den Rechnern der Queues infinix.q, idefix.q, graphit.q und graphix.q einloggen oder per qsub Jobs an die Queue übermitteln.
 
Falls man allerdings in der Physik per SSH [[drucken]] möchte, muss man sich auf einen der studentischen Arbeitsrechner einloggen (falls einer gerade läuft), welche studix{01..26} heißen.
 
== Beispiel-Konfiguration ==
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:
<pre>
Host *
  ServerAliveInterval 30
  ServerAliveCountMax 100
  TCPKeepAlive yes
  Compression yes


Host fbi*
Falls man allerdings in der Physik per SSH drucken möchte, muss man sich auf einen der studentischen Arbeitsrechner einloggen (falls einer gerade läuft), welche studix{01..26} heißen.
  User 0nachnam
  ForwardX11 yes
  IdentitiesOnly yes
  # DynamicForward 7777
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631
Host fbi1
  HostName rzssh1.informatik.uni-hamburg.de
Host fbi2
  Hostname rzssh2.informatik.uni-hamburg.de
Host fbi
  HostName rzssh1.informatik.uni-hamburg.de
 
Host ccblade*
  User 0nachnam
  HostName %h
  ProxyJump fbi
 
Host dkrz
  User nachname
  HostName cluster.wr.informatik.uni-hamburg.de
  ForwardX11 yes
 
Host zbh
  User vnachname
  HostName bari.zbh.uni-hamburg.de
  Port 7373
  ForwardX11 yes
 
Host mondsee
  User vnachname
  HostName mondsee
  ProxyJump zbh
  ForwardX11 yes
 
Host physnet
  User vnachnam
  HostName login1.physnet.uni-hamburg.de
  ForwardX11 yes
 
Host studix*
  User vnachnam
  HostName %h
  ForwardX11 yes
  ProxyJump physnet
</pre>


[[Kategorie:Dba]]
[[Kategorie:Dba]]

Bitte beachte, dass alle Beiträge zu Fachschaft_Informatik von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter Fachschaft Informatik:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite bearbeiten zu können (<a href="/Fachschaft/wiki/index.php?title=Special:Captcha/help" class="internal">weitere Informationen</a>):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)