<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.mafiasi.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=4felgenh</id>
	<title>Fachschaft Informatik - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mafiasi.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=4felgenh"/>
	<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php/Spezial:Beitr%C3%A4ge/4felgenh"/>
	<updated>2026-10-16T12:55:15Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-Sose2023-Typst&amp;diff=26195</id>
		<title>KBS-Sose2023-Typst</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-Sose2023-Typst&amp;diff=26195"/>
		<updated>2023-04-23T11:02:58Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|3|02. Mai}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Typst (/taɪpst/) ist ein modernes und in Rust geschriebenes Textsatzsystem, das sich als Alternative zu (oder Nachfolger von) LaTeX versteht.&lt;br /&gt;
&lt;br /&gt;
Bislang bietet Typst...&lt;br /&gt;
* &#039;&#039;&#039;Superschnelles&#039;&#039;&#039; Kompilieren&lt;br /&gt;
* &#039;&#039;&#039;Einfache Syntax&#039;&#039;&#039; ähnlich zu Markdown&lt;br /&gt;
* Elegantes und &#039;&#039;&#039;einfaches Skripting&#039;&#039;&#039;&lt;br /&gt;
* Einen &#039;&#039;&#039;Online-Editor&#039;&#039;&#039; ähnlich zu Overleaf&lt;br /&gt;
&lt;br /&gt;
Aber reicht das, um LaTeX aktuell vollständig zu ersetzen? (&#039;&#039;Spoiler: Nein&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Oder ist es wenigstens absehbar, dass Typst in den nächsten Monaten ein vollwertiger Nachfolger wird? (&#039;&#039;Spoiler: Vermutlich schon&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
* https://github.com/typst/typst&lt;br /&gt;
* https://typst.app/home&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
2019 wurden die Arbeiten an Typst von den zwei Absolventen der TU Berlin Martin Haug und Laurenz Mädje aus einer Frustration mit LaTeX heraus begonnen.&lt;br /&gt;
&lt;br /&gt;
Im März 2023 fand dann das offizielle Open Source Beta-Release statt.&lt;br /&gt;
&lt;br /&gt;
Dementsprechend hat es noch ein paar Ecken und Kanten, die Entwicklung läuft aber sehr flott.&lt;br /&gt;
&lt;br /&gt;
Ich habe in den letzten Monaten versucht, meinen kompletten Workflow von LaTeX auf Typst umzustellen.&lt;br /&gt;
&lt;br /&gt;
Dabei haben mir viele Dinge gut gefallen, aber stellenweise gibt es auch noch etwas Luft nach oben. Details erfahrt ihr im KBS.&lt;br /&gt;
&lt;br /&gt;
Außerdem gebe ich natürlich einen seichten Einstieg in die allgemeine Benutzung und in die Syntax von Typst.&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
# Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/felsenhower/kbs-typst Source] (natürlich sind die Folien mit Typst gemacht! :D), [https://raw.githubusercontent.com/felsenhower/kbs-typst/master/presentation.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
== Was muss ich mitbringen? ==&lt;br /&gt;
&lt;br /&gt;
Falls ihr vor Ort direkt etwas ausprobieren wollt, lohnt es sich, ein Notebook mitzubringen.&lt;br /&gt;
&lt;br /&gt;
Derzeit könnt ihr Typst folgendermaßen benutzen:&lt;br /&gt;
&lt;br /&gt;
# Mit dem offiziellen Online-Editor: https://typst.app/home&lt;br /&gt;
# Mit Visual Studio Code und der Extension Typst LSP: https://github.com/nvarner/typst-lsp&lt;br /&gt;
# Mit einem Texteditor eurer Wahl und dem Kommandozeilen-Tool: https://github.com/typst/typst&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-Sose2023-Typst&amp;diff=26184</id>
		<title>KBS-Sose2023-Typst</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-Sose2023-Typst&amp;diff=26184"/>
		<updated>2023-04-12T15:24:31Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Die Seite wurde neu angelegt: „{{:KunterBuntesSeminar-SS23/Terminseiten-Header|3|02. Mai}}  == Abstract ==  Typst (/taɪpst/) ist ein modernes und in Rust geschriebenes Textsatzsystem, das sich als Alternative zu (oder Nachfolger von) LaTeX versteht.  Bislang bietet Typst... * &amp;#039;&amp;#039;&amp;#039;Superschnelles&amp;#039;&amp;#039;&amp;#039; Kompilieren * &amp;#039;&amp;#039;&amp;#039;Einfache Syntax&amp;#039;&amp;#039;&amp;#039; ähnlich zu Markdown * Elegantes und &amp;#039;&amp;#039;&amp;#039;einfaches Skripting&amp;#039;&amp;#039;&amp;#039; * Einen &amp;#039;&amp;#039;&amp;#039;Online-Editor&amp;#039;&amp;#039;&amp;#039; ähnlich zu Overleaf  Aber reicht das, um LaTeX aktuell vollstä…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|3|02. Mai}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Typst (/taɪpst/) ist ein modernes und in Rust geschriebenes Textsatzsystem, das sich als Alternative zu (oder Nachfolger von) LaTeX versteht.&lt;br /&gt;
&lt;br /&gt;
Bislang bietet Typst...&lt;br /&gt;
* &#039;&#039;&#039;Superschnelles&#039;&#039;&#039; Kompilieren&lt;br /&gt;
* &#039;&#039;&#039;Einfache Syntax&#039;&#039;&#039; ähnlich zu Markdown&lt;br /&gt;
* Elegantes und &#039;&#039;&#039;einfaches Skripting&#039;&#039;&#039;&lt;br /&gt;
* Einen &#039;&#039;&#039;Online-Editor&#039;&#039;&#039; ähnlich zu Overleaf&lt;br /&gt;
&lt;br /&gt;
Aber reicht das, um LaTeX aktuell vollständig zu ersetzen? (&#039;&#039;Spoiler: Nein&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Oder ist es wenigstens absehbar, dass Typst in den nächsten Monaten ein vollwertiger Nachfolger wird? (&#039;&#039;Spoiler: Vermutlich schon&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
* https://github.com/typst/typst&lt;br /&gt;
* https://typst.app/home&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
2019 wurden die Arbeiten an Typst von den zwei Absolventen der TU Berlin Martin Haug und Laurenz Mädje aus einer Frustration mit LaTeX heraus begonnen.&lt;br /&gt;
&lt;br /&gt;
Im März 2023 fand dann das offizielle Open Source Beta-Release statt.&lt;br /&gt;
&lt;br /&gt;
Dementsprechend hat es noch ein paar Ecken und Kanten, die Entwicklung läuft aber sehr flott.&lt;br /&gt;
&lt;br /&gt;
Ich habe in den letzten Monaten versucht, meinen kompletten Workflow von LaTeX auf Typst umzustellen.&lt;br /&gt;
&lt;br /&gt;
Dabei haben mir viele Dinge gut gefallen, aber stellenweise gibt es auch noch etwas Luft nach oben. Details erfahrt ihr im KBS.&lt;br /&gt;
&lt;br /&gt;
Außerdem gebe ich natürlich einen seichten Einstieg in die allgemeine Benutzung und in die Syntax von Typst.&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
# Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
Kommen noch...&lt;br /&gt;
&lt;br /&gt;
Aktueller Stand [https://github.com/felsenhower/kbs-typst https://github.com/felsenhower/kbs-typst]&lt;br /&gt;
&lt;br /&gt;
(natürlich sind meine Folien auch mit Typst gemacht! :D)&lt;br /&gt;
&lt;br /&gt;
== Was muss ich mitbringen? ==&lt;br /&gt;
&lt;br /&gt;
Falls ihr vor Ort direkt etwas ausprobieren wollt, lohnt es sich, ein Notebook mitzubringen.&lt;br /&gt;
&lt;br /&gt;
Derzeit könnt ihr Typst folgendermaßen benutzen:&lt;br /&gt;
&lt;br /&gt;
# Mit dem offiziellen Online-Editor: https://typst.app/home&lt;br /&gt;
# Mit Visual Studio Code und der Extension Typst LSP: https://github.com/nvarner/typst-lsp&lt;br /&gt;
# Mit einem Texteditor eurer Wahl und dem Kommandozeilen-Tool: https://github.com/typst/typst&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-Sose2023-LatexLevel2&amp;diff=26183</id>
		<title>KBS-Sose2023-LatexLevel2</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-Sose2023-LatexLevel2&amp;diff=26183"/>
		<updated>2023-04-12T14:45:47Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Die Seite wurde neu angelegt: „{{:KunterBuntesSeminar-SS23/Terminseiten-Header|2|25. April}}  == Abstract ==  LaTeX kann so viele Sachen, dass wir dir im ersten Termin noch nicht alles zeigen konnten. Diesmal geht es u.a. um Literaturverzeichnisse, das Darstellen von Quellcode, fortgeschrittene Mathe-Kommandos und hübsche Grafiken mit Tikz:  * &amp;#039;&amp;#039;&amp;#039;Verweise&amp;#039;&amp;#039;&amp;#039;, figures * &amp;#039;&amp;#039;&amp;#039;Literaturangaben&amp;#039;&amp;#039;&amp;#039; mit BibTeX, BibLaTeX, Bib-files * &amp;#039;&amp;#039;&amp;#039;Quelltext&amp;#039;&amp;#039;&amp;#039; mit minted, lstlistings und verbatim * &amp;#039;&amp;#039;&amp;#039;Ps…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|2|25. April}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
LaTeX kann so viele Sachen, dass wir dir im ersten Termin noch nicht alles zeigen konnten. Diesmal geht es u.a. um Literaturverzeichnisse, das Darstellen von Quellcode, fortgeschrittene Mathe-Kommandos und hübsche Grafiken mit Tikz:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Verweise&#039;&#039;&#039;, figures&lt;br /&gt;
* &#039;&#039;&#039;Literaturangaben&#039;&#039;&#039; mit BibTeX, BibLaTeX, Bib-files&lt;br /&gt;
* &#039;&#039;&#039;Quelltext&#039;&#039;&#039; mit minted, lstlistings und verbatim&lt;br /&gt;
* &#039;&#039;&#039;Pseudocode&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Erstellen eigener Befehle&#039;&#039;&#039;, Umgebungen, Pakete und Dokumentenklassen&lt;br /&gt;
* Mehr Mathe mit u.A. &#039;&#039;&#039;SI-Einheiten&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Grafiken Zeichnen&#039;&#039;&#039; mit TikZ: einfaches Zeichnen, Automaten, Funktionen plotten, chemische Bilder, Schaltskizzen, Petrinetze, Bäume&lt;br /&gt;
* &#039;&#039;&#039;Versionskontolle&#039;&#039;&#039; mit Einführung und gitignore&lt;br /&gt;
* Nutzung von &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
# 14stieler&lt;br /&gt;
# 14felgenh&lt;br /&gt;
# ...&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
kommen noch&lt;br /&gt;
&lt;br /&gt;
Aktuellster shit unter: [https://github.com/hauke96/latex-grundkurs https://github.com/hauke96/latex-grundkurs]&lt;br /&gt;
&lt;br /&gt;
== Was muss ich mitbringen? ==&lt;br /&gt;
&lt;br /&gt;
Wir werden viel zusammen machen, daher am besten ein Notebook mit installierter LaTeX-Umgebung. Empfehlenswert ist z.B. &#039;&#039;&#039;TeXlive&#039;&#039;&#039; und &#039;&#039;&#039;TeXstudio&#039;&#039;&#039;. Alternativ gibt es auch den Online-Editor [https://latexbase.com/ Latexbase], wir empfehlen aber eine installierte Desktop-Umgebung.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-Sose2023-LatexGrundkurs&amp;diff=26182</id>
		<title>KBS-Sose2023-LatexGrundkurs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-Sose2023-LatexGrundkurs&amp;diff=26182"/>
		<updated>2023-04-12T14:44:31Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Die Seite wurde neu angelegt: „{{:KunterBuntesSeminar-SS23/Terminseiten-Header|1|18. April}}  == Abstract ==  Wer Seminararbeit(en) oder Hausarbeiten mit Word, LibreOffice etc. schreibt, der hat bestimmt schon bemerkt, dass Tabellen irgendwie semi-gut aussehen, Formatierung allgemein problematisch ist, Formeln ja wohl absolut nicht gehen und dass es vorbei ist, sobald es an Grafiken geht.&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Wenn du also auch keine Lust mehr auf halb-schöne Arbeiten/Abgaben hast, dann bist du hi…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|1|18. April}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Wer Seminararbeit(en) oder Hausarbeiten mit Word, LibreOffice etc. schreibt, der hat bestimmt schon bemerkt, dass Tabellen irgendwie semi-gut aussehen, Formatierung allgemein problematisch ist, Formeln ja wohl absolut nicht gehen und dass es vorbei ist, sobald es an Grafiken geht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn du also auch keine Lust mehr auf halb-schöne Arbeiten/Abgaben hast, dann bist du hier genau richtig. Wir zeigen dir die &#039;&#039;&#039;Grundlagen von LaTeX&#039;&#039;&#039; und ermöglichen es dir ziemlich schnell ziemlich schöne Ergebnisse zu erzielen, denn ...&amp;lt;br&amp;gt;&lt;br /&gt;
... wir machen es mit LaTeX&lt;br /&gt;
&lt;br /&gt;
=== Was ist das und warum sollte ich kommen? ===&lt;br /&gt;
&lt;br /&gt;
LaTeX ist ein Textsatzprogramm in dem du nicht direkt am Text Formatierungen vornimmst, sondern beschreibst, wie alles hinterher aussehen soll. Da man die Beschreibungssprache selbst um Befehle erweitern kann, ist LaTeX wesentlich mächtiger als Office-Programme&amp;lt;ref&amp;gt;Nur nebenbei: LaTeX ist eine vollwertige Programmiersprache und Turing-vollständig ;)&amp;lt;/ref&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Gerade für Übungen, Projekte oder Praktika (also alles mit mehreren Personen), eignet sich LaTeX besonders gut, denn: LaTeX ist reiner Text und lässt sich super mit einer Versionskontrolle (z.B. git) verbinden. Das geht mit einer .docx oder .ods Datei kaum bis gar nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
LaTeX (und viele Editoren auch) ist freie Software und für alle gängigen Betriebssysteme erhältlich.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
LaTeX ist schon seit Jahrzehnten erprobt, stabil und wird kaum noch verändert. Dadurch hat man an keine Versionsprobleme: Hat eine andere Person LaTeX installiert, kann man sich sicher sein, dass bei beiden die Dokumente hinterher exakt gleich aussehen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Da wir ein Mathematik-nahen Studiengang haben, schreiben wir viele Formeln (wenn nicht, werdet ihr das wahrscheinlich noch ;) ). Das geht zwar in Word, LibreOffice und Co. auch, ist aber ziemlich umständlich, teilweise eingeschränkt, sieht nicht sonderlich professionell aus und gliedert sich schlecht in das restliche Dokument ein. Bei LaTeX sind Formeln und Gleichungen wie eine zweite Muttersprache und gliedern sich wunderbar in den umgebenden Text ein.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt also sehr gute Gründe sich LaTeX anzuschauen und - wie viele es bereits tun - im Studium zu nutzen, daher komm gerne vorbei :)&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
# 14stieler&lt;br /&gt;
# 14felgenh&lt;br /&gt;
# ...&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
Kommen noch&lt;br /&gt;
&lt;br /&gt;
Aktuellster shit unter: [https://github.com/hauke96/latex-grundkurs https://github.com/hauke96/latex-grundkurs]&lt;br /&gt;
&lt;br /&gt;
== Was muss ich mitbringen? ==&lt;br /&gt;
&lt;br /&gt;
Wir werden viel zusammen machen, daher am besten ein Notebook mit installierter LaTeX-Umgebung. Empfehlenswert ist z.B. &#039;&#039;&#039;TeXlive&#039;&#039;&#039; und &#039;&#039;&#039;TeXstudio&#039;&#039;&#039;. Alternativ gibt es auch den Online-Editor [https://overleaf.com Overleaf], wir empfehlen aber eine installierte Desktop-Umgebung.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23/Terminseiten-Header&amp;diff=26181</id>
		<title>KunterBuntesSeminar-SS23/Terminseiten-Header</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23/Terminseiten-Header&amp;diff=26181"/>
		<updated>2023-04-12T14:43:42Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Dies ist eine Vorlage zur Verwendung im Kopfbereich einer Terminseite für das [[KBS]]. Sie beinhaltet Angaben zur Termin-Nummer, Zeit und Ort.&lt;br /&gt;
&lt;br /&gt;
=== Verwendung ===&lt;br /&gt;
Die Vorlage hat zwei Pflichtparameter: die Termin-Nummer und das Datum. Zeit- und Ortsdaten sind per Default die normalen KBS-Daten, können aber mit benannten Parametern überschrieben werden. Für den Ort kann entweder lediglich der Raum oder die komplette Ortsangabe überschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|1|02. November 2023}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|1|02. November 2023}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|2|09. November 2023|raum=D-125}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|2|09. November 2023|raum=D-125}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|6|44. Dezemer 2023|ort=Im Foyer des WiWi-Bunkers}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|6|44. Dezember 2023|ort=Im Foyer des WiWi-Bunkers}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|9|51. Februar 2023|zeit=&#039;&#039;&#039;19:15 Uhr&#039;&#039;&#039;, Termin geht nur 30 Minuten}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|9|51. Februar 2023|zeit=&#039;&#039;&#039;19:15 Uhr&#039;&#039;&#039;, Termin geht nur 30 Minuten}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|nom|nomnom|ort=foo|zeit=bar}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|nom|nomnom|ort=foo|zeit=bar}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;Dies ist der {{{1}}}. Termin vom [[KunterBuntesSeminar-SS23|KunterBuntenSeminar im SS 2023]].&amp;lt;br /&amp;gt;&lt;br /&gt;
Ort: {{{ort| &#039;&#039;&#039;{{{raum|G-022}}}&#039;&#039;&#039;}}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Datum: &#039;&#039;&#039;{{{2}}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Zeit: {{{zeit|&#039;&#039;&#039;18:30 Uhr&#039;&#039;&#039; bis ca. 20:30 Uhr}}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23/Terminseiten-Header&amp;diff=26180</id>
		<title>KunterBuntesSeminar-SS23/Terminseiten-Header</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23/Terminseiten-Header&amp;diff=26180"/>
		<updated>2023-04-12T14:40:30Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Die Seite wurde neu angelegt: „&amp;lt;noinclude&amp;gt;Dies ist eine Vorlage zur Verwendung im Kopfbereich einer Terminseite für das KBS. Sie beinhaltet Angaben zur Termin-Nummer, Zeit und Ort.  === Verwendung === Die Vorlage hat zwei Pflichtparameter: die Termin-Nummer und das Datum. Zeit- und Ortsdaten sind per Default die normalen KBS-Daten, können aber mit benannten Parametern überschrieben werden. Für den Ort kann entweder lediglich der Raum oder die komplette Ortsangabe überschrieben…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;Dies ist eine Vorlage zur Verwendung im Kopfbereich einer Terminseite für das [[KBS]]. Sie beinhaltet Angaben zur Termin-Nummer, Zeit und Ort.&lt;br /&gt;
&lt;br /&gt;
=== Verwendung ===&lt;br /&gt;
Die Vorlage hat zwei Pflichtparameter: die Termin-Nummer und das Datum. Zeit- und Ortsdaten sind per Default die normalen KBS-Daten, können aber mit benannten Parametern überschrieben werden. Für den Ort kann entweder lediglich der Raum oder die komplette Ortsangabe überschrieben werden.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|1|02. November 2023}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|1|02. November 2023}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|2|09. November 2023|raum=D-125}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|2|09. November 2023|raum=D-125}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|6|44. Dezemer 2023|ort=Im Foyer des WiWi-Bunkers}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|6|44. Dezember 2023|ort=Im Foyer des WiWi-Bunkers}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|9|51. Februar 2023|zeit=&#039;&#039;&#039;19:15 Uhr&#039;&#039;&#039;, Termin geht nur 30 Minuten}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|9|51. Februar 2023|zeit=&#039;&#039;&#039;19:15 Uhr&#039;&#039;&#039;, Termin geht nur 30 Minuten}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;{{:KunterBuntesSeminar-SS23/Terminseiten-Header|nom|nomnom|ort=foo|zeit=bar}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{:KunterBuntesSeminar-SS23/Terminseiten-Header|nom|nomnom|ort=foo|zeit=bar}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;Dies ist der {{{1}}}. Termin vom [[KunterBuntesSeminar-SS23|KunterBuntenSeminar im SS 2023]].&amp;lt;br /&amp;gt;&lt;br /&gt;
Ort: {{{ort| &#039;&#039;&#039;{{{raum|BigBlueButton}}}&#039;&#039;&#039; (Link siehe Ankündigungsmails) }}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Datum: &#039;&#039;&#039;{{{2}}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Zeit: {{{zeit|&#039;&#039;&#039;20:00 Uhr&#039;&#039;&#039; bis ca. 21:30 Uhr}}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23&amp;diff=26178</id>
		<title>KunterBuntesSeminar-SS23</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23&amp;diff=26178"/>
		<updated>2023-04-11T11:09:53Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist die Seite von dem [[KunterBuntesSeminar|KunterBuntenSeminar]] im [[Termine_SS_23|Sommersemester 2023]], welches das 28. Semester ist, in dem es stattfindet.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Immer &#039;&#039;&#039;Dienstags 18:30 bis ca. 20:30 in G-022&#039;&#039;&#039;. Wahrscheinlich wird es auch einen Live-Stream über BBB geben. Da manche Termine eher Workshops sind, lohnt es sich aber eher ans Ikum zu kommen.&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
Die Vorträge und Workshops sind von Studis für Studis, trage dich also gerne ein, damit das KBS möglichst vielfältig ist.&lt;br /&gt;
&lt;br /&gt;
;KW15 11.04.2023: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW15 18.04.2023: [[KBS-Sose2023-LatexGrundkurs|LaTeX-Grundkurs]] by &amp;lt;viele Mafiasi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;KW15 25.04.2023: [[KBS-Sose2023-LatexLevel2|LaTeX Level 2]] by &amp;lt;viele Mafiasi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;KW15 02.05.2023: [[KBS-Sose2023-Typst|Typst – der LaTeX-Killer?]] by Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
;KW15 09.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 16.05.2023: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW15 23.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 30.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 06.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 13.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 20.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 27.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 04.07.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 11.07.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
=== Du möchtest selbst ein KBS halten? Großartig! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alle können mit machen&#039;&#039;&#039; und sich für ein [[KunterBuntesSeminar/Themen|bliebiges Thema]] eintragen. Lege einfach eine Wiki-Seite an (s. [[KunterBuntesSeminar|vergangene KBSe]]) und beschreibe was du bei dem KBS so machen möchtest. Und am besten ein paar Tage vorher eine Ankündigungsmail schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Für mehr Infos schau einmal in die [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Vortragende]] und ansonsten orientiere dich am besten an bestehende Einträge in der Liste oben (oder in Listen [[KunterBuntesSeminar|vergangener KBSse]]): Seite erstellen, dabei das [[KunterBuntesSeminar-SS22/Terminseiten-Header|KBS-Makro]] benutzen, ein wenig was zu deinem Thema schreiben, bewerben (Mailinglisten, Social Media, Zettel aushängen, Leute in der Fußgängerzone ansprechen, die Tagesschau fragen, ob sie drüber berichten, ....) und fertig!&lt;br /&gt;
&lt;br /&gt;
Bei weiteren Fragen schau einmal ins [[HOWTO:KBS]] (allerdings leeeeicht veraltet ;) ) und ansonsten kannst du dich natürlich auch gerne an die KBS-AG wenden ([mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de]).&lt;br /&gt;
&lt;br /&gt;
== Mailingliste ==&lt;br /&gt;
Das KBS hat eine Mailingliste, welche über [mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de] erreicht werden kann. Auf dieser Mailingliste sind alle Interessierten willkommen.&lt;br /&gt;
&lt;br /&gt;
Um auf diese Mailingliste zu kommen, musst du nur eine E-Mail an [mailto:kbs-subscribe@informatik.uni-hamburg.de kbs-subscribe@informatik.uni-hamburg.de] schreiben oder dich per [https://mailhost.informatik.uni-hamburg.de/mailman/listinfo/kbs Webinterface] anmelden.&lt;br /&gt;
&lt;br /&gt;
== Materialien ==&lt;br /&gt;
&lt;br /&gt;
* [[HOWTO:KunterBuntesSeminar-Vortrag|HOWTO eigenen KBS-Talk halten]]&lt;br /&gt;
* [[KunterBuntesSeminar/Themen#Themenvorschlaege|Themenvorschlaege]]&lt;br /&gt;
* [[KunterBuntesSeminar/Plakate|Offline Werbung]]&lt;br /&gt;
* [[KunterBuntesSeminar/KBB|Maskottchen]]&lt;br /&gt;
* [[HOWTO:KBS]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23&amp;diff=26156</id>
		<title>KunterBuntesSeminar-SS23</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23&amp;diff=26156"/>
		<updated>2023-04-05T07:33:13Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist die Seite von dem [[KunterBuntesSeminar|KunterBuntenSeminar]] im [[Termine_SS_23|Sommersemester 2023]], welches das 28. Semester ist, in dem es stattfindet.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Immer &#039;&#039;&#039;Dienstags 18:30 bis ca. 20:30 in G-022&#039;&#039;&#039;. Wahrscheinlich wird es auch einen Live-Stream über BBB geben. Da manche Termine eher Workshops sind, lohnt es sich aber eher ans Ikum zu kommen.&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
Die Vorträge und Workshops sind von Studis für Studis, trage dich also gerne ein, damit das KBS möglichst vielfältig ist.&lt;br /&gt;
&lt;br /&gt;
;KW15 11.04.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 18.04.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 25.04.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 02.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 09.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 16.05.2023: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW15 23.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 30.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 06.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 13.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 20.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 27.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 04.07.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 11.07.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
=== Du möchtest selbst ein KBS halten? Großartig! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alle können mit machen&#039;&#039;&#039; und sich für ein [[KunterBuntesSeminar/Themen|bliebiges Thema]] eintragen. Lege einfach eine Wiki-Seite an (s. [[KunterBuntesSeminar|vergangene KBSe]]) und beschreibe was du bei dem KBS so machen möchtest. Und am besten ein paar Tage vorher eine Ankündigungsmail schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Für mehr Infos schau einmal in die [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Vortragende]] und ansonsten orientiere dich am besten an bestehende Einträge in der Liste oben (oder in Listen [[KunterBuntesSeminar|vergangener KBSse]]): Seite erstellen, dabei das [[KunterBuntesSeminar-SS22/Terminseiten-Header|KBS-Makro]] benutzen, ein wenig was zu deinem Thema schreiben, bewerben (Mailinglisten, Social Media, Zettel aushängen, Leute in der Fußgängerzone ansprechen, die Tagesschau fragen, ob sie drüber berichten, ....) und fertig!&lt;br /&gt;
&lt;br /&gt;
Bei weiteren Fragen schau einmal ins [[HOWTO:KBS]] (allerdings leeeeicht veraltet ;) ) und ansonsten kannst du dich natürlich auch gerne an die KBS-AG wenden ([mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de]).&lt;br /&gt;
&lt;br /&gt;
== Mailingliste ==&lt;br /&gt;
Das KBS hat eine Mailingliste, welche über [mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de] erreicht werden kann. Auf dieser Mailingliste sind alle Interessierten willkommen.&lt;br /&gt;
&lt;br /&gt;
Um auf diese Mailingliste zu kommen, musst du nur eine E-Mail an [mailto:kbs-subscribe@informatik.uni-hamburg.de kbs-subscribe@informatik.uni-hamburg.de] schreiben oder dich per [https://mailhost.informatik.uni-hamburg.de/mailman/listinfo/kbs Webinterface] anmelden.&lt;br /&gt;
&lt;br /&gt;
== Materialien ==&lt;br /&gt;
&lt;br /&gt;
* [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Referenten]]&lt;br /&gt;
* [[KunterBuntesSeminar/Themen#Themenvorschlaege|Themenvorschlaege]]&lt;br /&gt;
* [[KunterBuntesSeminar/Plakate|Offline Werbung]]&lt;br /&gt;
* [[KunterBuntesSeminar/KBB|Maskottchen]]&lt;br /&gt;
* [[HOWTO:KBS]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23&amp;diff=26155</id>
		<title>KunterBuntesSeminar-SS23</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-SS23&amp;diff=26155"/>
		<updated>2023-04-05T07:30:57Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Termin(e) finalisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist die Seite von dem [[KunterBuntesSeminar|KunterBuntenSeminar]] im [[Termine_SS_23|Sommersemester 2023]], welches das 28. Semester ist, in dem es stattfindet.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Immer &#039;&#039;&#039;Dienstags 18:30 bis ca. 20:30 in G-022&#039;&#039;&#039;. Wahrscheinlich wird es auch einen Live-Stream über BBB geben. Da manche Termine eher Workshops sind, lohnt es sich aber eher ans Ikum zu kommen.&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
Die Vorträge und Workshops sind von Studis für Studis, trage dich also gerne ein, damit das KBS möglichst vielfältig ist.&lt;br /&gt;
&lt;br /&gt;
;KW15 11.04.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 18.04.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 25.04.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 02.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 09.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 16.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 23.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 30.05.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 06.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 13.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 20.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 27.06.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 04.07.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW15 11.07.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
=== Du möchtest selbst ein KBS halten? Großartig! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alle können mit machen&#039;&#039;&#039; und sich für ein [[KunterBuntesSeminar/Themen|bliebiges Thema]] eintragen. Lege einfach eine Wiki-Seite an (s. [[KunterBuntesSeminar|vergangene KBSe]]) und beschreibe was du bei dem KBS so machen möchtest. Und am besten ein paar Tage vorher eine Ankündigungsmail schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Für mehr Infos schau einmal in die [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Vortragende]] und ansonsten orientiere dich am besten an bestehende Einträge in der Liste oben (oder in Listen [[KunterBuntesSeminar|vergangener KBSse]]): Seite erstellen, dabei das [[KunterBuntesSeminar-SS22/Terminseiten-Header|KBS-Makro]] benutzen, ein wenig was zu deinem Thema schreiben, bewerben (Mailinglisten, Social Media, Zettel aushängen, Leute in der Fußgängerzone ansprechen, die Tagesschau fragen, ob sie drüber berichten, ....) und fertig!&lt;br /&gt;
&lt;br /&gt;
Bei weiteren Fragen schau einmal ins [[HOWTO:KBS]] (allerdings leeeeicht veraltet ;) ) und ansonsten kannst du dich natürlich auch gerne an die KBS-AG wenden ([mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de]).&lt;br /&gt;
&lt;br /&gt;
== Mailingliste ==&lt;br /&gt;
Das KBS hat eine Mailingliste, welche über [mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de] erreicht werden kann. Auf dieser Mailingliste sind alle Interessierten willkommen.&lt;br /&gt;
&lt;br /&gt;
Um auf diese Mailingliste zu kommen, musst du nur eine E-Mail an [mailto:kbs-subscribe@informatik.uni-hamburg.de kbs-subscribe@informatik.uni-hamburg.de] schreiben oder dich per [https://mailhost.informatik.uni-hamburg.de/mailman/listinfo/kbs Webinterface] anmelden.&lt;br /&gt;
&lt;br /&gt;
== Materialien ==&lt;br /&gt;
&lt;br /&gt;
* [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Referenten]]&lt;br /&gt;
* [[KunterBuntesSeminar/Themen#Themenvorschlaege|Themenvorschlaege]]&lt;br /&gt;
* [[KunterBuntesSeminar/Plakate|Offline Werbung]]&lt;br /&gt;
* [[KunterBuntesSeminar/KBB|Maskottchen]]&lt;br /&gt;
* [[HOWTO:KBS]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=Datei:KBS-WiSe2223-Mikrocontroller.pdf&amp;diff=26125</id>
		<title>Datei:KBS-WiSe2223-Mikrocontroller.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=Datei:KBS-WiSe2223-Mikrocontroller.pdf&amp;diff=26125"/>
		<updated>2023-01-23T18:08:25Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-Mikrocontroller&amp;diff=26124</id>
		<title>KBS-WiSe2223-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-Mikrocontroller&amp;diff=26124"/>
		<updated>2023-01-23T18:05:00Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-WS22/Terminseiten-Header|7|24. Januar}}&lt;br /&gt;
&lt;br /&gt;
== TL;DR ==&lt;br /&gt;
&lt;br /&gt;
* Mikrocontroller-Programmierung:&lt;br /&gt;
** Was ist das?&lt;br /&gt;
** Wieso will ich das?&lt;br /&gt;
** Was kann man damit cooles machen?&lt;br /&gt;
** Wie geht das?&lt;br /&gt;
** Bare Metal vs Embedded Linux?&lt;br /&gt;
&lt;br /&gt;
== Too Long Did Read ==&lt;br /&gt;
&lt;br /&gt;
In diesem KBS zeige ich alles, was ihr wissen müsst, um einfache Anwendungen für Mikrocontroller zu bauen:&lt;br /&gt;
&lt;br /&gt;
* Aussuchen der Hardware&lt;br /&gt;
* Kaufen der Hardware&lt;br /&gt;
* Programmierung der Software&lt;br /&gt;
* Flashen der Software auf euren Mikrocontroller&lt;br /&gt;
&lt;br /&gt;
Die Beispiele sind zu verschiedenen Herstellern, aber hauptsächlich für STM32.&lt;br /&gt;
&lt;br /&gt;
Ich werde auch ein bisschen über etwas größere eingebettete Systeme (z.B. Raspberry Pi) reden und wie man sein eigenes Linux mit Buildroot baut.&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:KBS-WiSe2223-Mikrocontroller.pdf]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26123</id>
		<title>KunterBuntesSeminar-WS2223</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26123"/>
		<updated>2023-01-21T14:24:22Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist die Seite von dem [[KunterBuntesSeminar|KunterBuntenSeminar]] im [[Termine_WS_22/23|Wintersemester 2022]], welches das 27. Semester ist, in dem es stattfindet.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Immer &#039;&#039;&#039;Dienstags 18:00-20:00 in G-022&#039;&#039;&#039;. Eventuell wird es sogar einen Live-Stream über BBB geben, kommt aber lieber ans Ikum, so macht das alles mehr Spaß ;)&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
Themen kommen hauptsächlich von anderen Studis, trage dich also gerne ein, wenn du ein KBS halten möchtest (mehr dazu s.u.).&lt;br /&gt;
&lt;br /&gt;
;KW48 29.11.2022: [[KBS-WiSe2223-LinuxInstallParty|Linux install party]] von &amp;lt;ganz viele Menschen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;KW49 06.12.2022: [[KBS-WiSe2223-HowToLinux|HowTo: Linux]] von Ruben 14felgenh und anderen&lt;br /&gt;
&lt;br /&gt;
;KW50 13.12.2022: [[KBS-WiSe2223-Stonks|Stonks]] - Eine kleine Einführung in die Welt der Aktien by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW51 20.12.2022: [[KBS-WiSe2223-Steuern|Die spannende Welt der Steuern]] (und wir ihr eure Steuererklärung macht) by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW52 27.12.2022: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW01 03.01.2023: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW02 10.01.2023: [[KBS-WiSe2223-SymbolischeProgrammierung|Symbolische Programmierung (Mathematica, sympy, ...)]] von Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
;KW03 17.01.2023: [[KBS-WiSe2223-Git-Grundkurs|git Grundkurs]] von [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW04 24.01.2023: [[KBS-WiSe2223-Mikrocontroller|Einstieg in die Mikrocontroller-Programmierung]] von Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
;KW05 31.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW06 07.02.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
=== Du möchtest selbst ein KBS halten? Großartig! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alle können mit machen&#039;&#039;&#039; und sich für ein [[KunterBuntesSeminar/Themen|bliebiges Thema]] eintragen. Lege einfach eine Wiki-Seite an (s. [[KunterBuntesSeminar|vergangene KBSe]]) und beschreibe was du bei dem KBS so machen möchtest. Und am besten ein paar Tage vorher eine Ankündigungsmail schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Für mehr Infos schau einmal in die [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Vortragende]] und ansonsten orientiere dich am besten an bestehende Einträge in der Liste oben (oder in Listen [[KunterBuntesSeminar|vergangener KBSse]]): Seite erstellen, dabei das [[KunterBuntesSeminar-SS22/Terminseiten-Header|KBS-Makro]] benutzen, ein wenig was zu deinem Thema schreiben, bewerben (Mailinglisten, Social Media, Zettel aushängen, Leute in der Fußgängerzone ansprechen, die Tagesschau fragen, ob sie drüber berichten, ....) und fertig!&lt;br /&gt;
&lt;br /&gt;
Bei weiteren Fragen schau einmal ins [[HOWTO:KBS]] (allerdings leeeeicht veraltet ;) ) und ansonsten kannst du dich natürlich auch gerne an die KBS-AG wenden ([mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de]).&lt;br /&gt;
&lt;br /&gt;
== Mailingliste ==&lt;br /&gt;
Das KBS hat eine Mailingliste, welche über [mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de] erreicht werden kann. Auf dieser Mailingliste sind alle Interessierten willkommen.&lt;br /&gt;
&lt;br /&gt;
Um auf diese Mailingliste zu kommen, musst du nur eine E-Mail an [mailto:kbs-subscribe@informatik.uni-hamburg.de kbs-subscribe@informatik.uni-hamburg.de] schreiben oder dich per [https://mailhost.informatik.uni-hamburg.de/mailman/listinfo/kbs Webinterface] anmelden.&lt;br /&gt;
&lt;br /&gt;
== Materialien ==&lt;br /&gt;
&lt;br /&gt;
* [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Referenten]]&lt;br /&gt;
* [[KunterBuntesSeminar/Themen#Themenvorschlaege|Themenvorschlaege]]&lt;br /&gt;
* [[KunterBuntesSeminar/Plakate|Offline Werbung]]&lt;br /&gt;
* [[KunterBuntesSeminar/KBB|Maskottchen]]&lt;br /&gt;
* [[HOWTO:KBS]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26122</id>
		<title>KunterBuntesSeminar-WS2223</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26122"/>
		<updated>2023-01-21T14:24:04Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist die Seite von dem [[KunterBuntesSeminar|KunterBuntenSeminar]] im [[Termine_WS_22/23|Wintersemester 2022]], welches das 27. Semester ist, in dem es stattfindet.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Immer &#039;&#039;&#039;Dienstags 18:00-20:00 in G-022&#039;&#039;&#039;. Eventuell wird es sogar einen Live-Stream über BBB geben, kommt aber lieber ans Ikum, so macht das alles mehr Spaß ;)&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
Themen kommen hauptsächlich von anderen Studis, trage dich also gerne ein, wenn du ein KBS halten möchtest (mehr dazu s.u.).&lt;br /&gt;
&lt;br /&gt;
;KW48 29.11.2022: [[KBS-WiSe2223-LinuxInstallParty|Linux install party]] von &amp;lt;ganz viele Menschen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;KW49 06.12.2022: [[KBS-WiSe2223-HowToLinux|HowTo: Linux]] von Ruben 14felgenh und anderen&lt;br /&gt;
&lt;br /&gt;
;KW50 13.12.2022: [[KBS-WiSe2223-Stonks|Stonks]] - Eine kleine Einführung in die Welt der Aktien by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW51 20.12.2022: [[KBS-WiSe2223-Steuern|Die spannende Welt der Steuern]] (und wir ihr eure Steuererklärung macht) by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW52 27.12.2022: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW01 03.01.2023: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW02 10.01.2023: [[KBS-WiSe2223-SymbolischeProgrammierung|Symbolische Programmierung (Mathematica, sympy, ...)]] von Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
;KW03 17.01.2023: [[KBS-WiSe2223-Git-Grundkurs|git Grundkurs]] von [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW04 24.01.2023: [[KBS-WiSe2223-Mikrocontroller|Einstieg in die Mikrocontroller-Programmierung] von Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
;KW05 31.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW06 07.02.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
=== Du möchtest selbst ein KBS halten? Großartig! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alle können mit machen&#039;&#039;&#039; und sich für ein [[KunterBuntesSeminar/Themen|bliebiges Thema]] eintragen. Lege einfach eine Wiki-Seite an (s. [[KunterBuntesSeminar|vergangene KBSe]]) und beschreibe was du bei dem KBS so machen möchtest. Und am besten ein paar Tage vorher eine Ankündigungsmail schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Für mehr Infos schau einmal in die [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Vortragende]] und ansonsten orientiere dich am besten an bestehende Einträge in der Liste oben (oder in Listen [[KunterBuntesSeminar|vergangener KBSse]]): Seite erstellen, dabei das [[KunterBuntesSeminar-SS22/Terminseiten-Header|KBS-Makro]] benutzen, ein wenig was zu deinem Thema schreiben, bewerben (Mailinglisten, Social Media, Zettel aushängen, Leute in der Fußgängerzone ansprechen, die Tagesschau fragen, ob sie drüber berichten, ....) und fertig!&lt;br /&gt;
&lt;br /&gt;
Bei weiteren Fragen schau einmal ins [[HOWTO:KBS]] (allerdings leeeeicht veraltet ;) ) und ansonsten kannst du dich natürlich auch gerne an die KBS-AG wenden ([mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de]).&lt;br /&gt;
&lt;br /&gt;
== Mailingliste ==&lt;br /&gt;
Das KBS hat eine Mailingliste, welche über [mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de] erreicht werden kann. Auf dieser Mailingliste sind alle Interessierten willkommen.&lt;br /&gt;
&lt;br /&gt;
Um auf diese Mailingliste zu kommen, musst du nur eine E-Mail an [mailto:kbs-subscribe@informatik.uni-hamburg.de kbs-subscribe@informatik.uni-hamburg.de] schreiben oder dich per [https://mailhost.informatik.uni-hamburg.de/mailman/listinfo/kbs Webinterface] anmelden.&lt;br /&gt;
&lt;br /&gt;
== Materialien ==&lt;br /&gt;
&lt;br /&gt;
* [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Referenten]]&lt;br /&gt;
* [[KunterBuntesSeminar/Themen#Themenvorschlaege|Themenvorschlaege]]&lt;br /&gt;
* [[KunterBuntesSeminar/Plakate|Offline Werbung]]&lt;br /&gt;
* [[KunterBuntesSeminar/KBB|Maskottchen]]&lt;br /&gt;
* [[HOWTO:KBS]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-Mikrocontroller&amp;diff=26121</id>
		<title>KBS-WiSe2223-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-Mikrocontroller&amp;diff=26121"/>
		<updated>2023-01-21T14:22:03Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-WS22/Terminseiten-Header|7|24. Januar}}&lt;br /&gt;
&lt;br /&gt;
== TL;DR ==&lt;br /&gt;
&lt;br /&gt;
* Mikrocontroller-Programmierung:&lt;br /&gt;
** Was ist das?&lt;br /&gt;
** Wieso will ich das?&lt;br /&gt;
** Was kann man damit cooles machen?&lt;br /&gt;
** Wie geht das?&lt;br /&gt;
** Bare Metal vs Embedded Linux?&lt;br /&gt;
&lt;br /&gt;
== Too Long Did Read ==&lt;br /&gt;
&lt;br /&gt;
In diesem KBS zeige ich alles, was ihr wissen müsst, um einfache Anwendungen für Mikrocontroller zu bauen:&lt;br /&gt;
&lt;br /&gt;
* Aussuchen der Hardware&lt;br /&gt;
* Kaufen der Hardware&lt;br /&gt;
* Programmierung der Software&lt;br /&gt;
* Flashen der Software auf euren Mikrocontroller&lt;br /&gt;
&lt;br /&gt;
Die Beispiele sind zu verschiedenen Herstellern, aber hauptsächlich für STM32.&lt;br /&gt;
&lt;br /&gt;
Ich werde auch ein bisschen über etwas größere eingebettete Systeme (z.B. Raspberry Pi) reden und wie man sein eigenes Linux mit Buildroot baut.&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
Kommen noch&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=Datei:KBS-WiSe2223-SymbolischeProgrammierung.pdf&amp;diff=26093</id>
		<title>Datei:KBS-WiSe2223-SymbolischeProgrammierung.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=Datei:KBS-WiSe2223-SymbolischeProgrammierung.pdf&amp;diff=26093"/>
		<updated>2023-01-10T16:39:04Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-SymbolischeProgrammierung&amp;diff=26092</id>
		<title>KBS-WiSe2223-SymbolischeProgrammierung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-SymbolischeProgrammierung&amp;diff=26092"/>
		<updated>2023-01-10T16:38:40Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-WS22/Terminseiten-Header|5|10. Januar}}&lt;br /&gt;
&lt;br /&gt;
== tl;dr ==&lt;br /&gt;
&lt;br /&gt;
Symbolische Programmierung mit Wolfram Mathematica und sympy (Python).&lt;br /&gt;
&lt;br /&gt;
== Too Long Did Read ==&lt;br /&gt;
&lt;br /&gt;
In diesem KBS lernt ihr, was Symbolische Programmierung eigentlich ist (im Gegensatz zu Numerischer Programmierung &amp;amp; Co.), welche Probleme wir besser analytisch / symbolisch lösen können, und welche lieber numerisch.&lt;br /&gt;
&lt;br /&gt;
Nachdem wir Programme und Syntax abgehandelt haben, spreche ich folgende Themen an:&lt;br /&gt;
&lt;br /&gt;
* Gleichungen umstellen, lösen, und vereinfachen&lt;br /&gt;
* Ableitungen und Stammfunktionen bestimmen&lt;br /&gt;
* Eigenwerte finden, Gleichungssysteme lösen&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Ich werde versuchen, das ganze etwas interaktiv zu gestalten, deshalb wäre es sehr von Vorteil, wenn ihr einen Rechner mit installiertem Mathematica mitbringt &#039;&#039;&#039;(siehe unten)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
* Folien: [[Datei:KBS-WiSe2223-SymbolischeProgrammierung.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Was muss ich mitbringen? ==&lt;br /&gt;
&lt;br /&gt;
Idealerweise bringst du ein eigenes Notebook mit installiertem Wolfram Mathematica und &amp;lt;abbr title=&amp;quot;$ pip install sympy&amp;quot;&amp;gt;sympy&amp;lt;/abbr&amp;gt; mit.&lt;br /&gt;
&lt;br /&gt;
Als Studierender der UHH kannst du eine Mathematica-Lizenz der Uni benutzen. Mehr Infos dazu findest du [https://www.rrz.uni-hamburg.de/services/software/software-thematisch/software-alpha/mathematica.html hier] (nur aus dem Uni-Netz oder über VPN verfügbar).&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-SymbolischeProgrammierung&amp;diff=26088</id>
		<title>KBS-WiSe2223-SymbolischeProgrammierung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-SymbolischeProgrammierung&amp;diff=26088"/>
		<updated>2023-01-07T13:03:40Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-WS22/Terminseiten-Header|5|10. Januar}}&lt;br /&gt;
&lt;br /&gt;
== tl;dr ==&lt;br /&gt;
&lt;br /&gt;
Symbolische Programmierung mit Wolfram Mathematica und sympy (Python).&lt;br /&gt;
&lt;br /&gt;
== Too Long Did Read ==&lt;br /&gt;
&lt;br /&gt;
In diesem KBS lernt ihr, was Symbolische Programmierung eigentlich ist (im Gegensatz zu Numerischer Programmierung &amp;amp; Co.), welche Probleme wir besser analytisch / symbolisch lösen können, und welche lieber numerisch.&lt;br /&gt;
&lt;br /&gt;
Nachdem wir Programme und Syntax abgehandelt haben, spreche ich folgende Themen an:&lt;br /&gt;
&lt;br /&gt;
* Gleichungen umstellen, lösen, und vereinfachen&lt;br /&gt;
* Ableitungen und Stammfunktionen bestimmen&lt;br /&gt;
* Eigenwerte finden, Gleichungssysteme lösen&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Ich werde versuchen, das ganze etwas interaktiv zu gestalten, deshalb wäre es sehr von Vorteil, wenn ihr einen Rechner mit installiertem Mathematica mitbringt &#039;&#039;&#039;(siehe unten)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
Kommen noch&lt;br /&gt;
&lt;br /&gt;
== Was muss ich mitbringen? ==&lt;br /&gt;
&lt;br /&gt;
Idealerweise bringst du ein eigenes Notebook mit installiertem Wolfram Mathematica und &amp;lt;abbr title=&amp;quot;$ pip install sympy&amp;quot;&amp;gt;sympy&amp;lt;/abbr&amp;gt; mit.&lt;br /&gt;
&lt;br /&gt;
Als Studierender der UHH kannst du eine Mathematica-Lizenz der Uni benutzen. Mehr Infos dazu findest du [https://www.rrz.uni-hamburg.de/services/software/software-thematisch/software-alpha/mathematica.html hier] (nur aus dem Uni-Netz oder über VPN verfügbar).&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-Mikrocontroller&amp;diff=26082</id>
		<title>KBS-WiSe2223-Mikrocontroller</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-Mikrocontroller&amp;diff=26082"/>
		<updated>2022-12-17T11:25:47Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Die Seite wurde neu angelegt: „{{:KunterBuntesSeminar-WS22/Terminseiten-Header|7|24. Januar}}  == TL;DR ==  In diesem KBS zeige ich euch den kompletten Prozess, um einfache Anwendungen auf Mikrocontrollern zu bauen.  Vom Aussuchen und Kauf der Hardware bis zum Programmieren und Flashen der Software.  Vermutlich hauptsächlich STM32.  Ganz vielleicht sage ich auch ein bisschen was über größere eingebettete Systeme (z.B. Raspberry Pi) und wie ihr euer eigenes Linux mit Buildroot baut.…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-WS22/Terminseiten-Header|7|24. Januar}}&lt;br /&gt;
&lt;br /&gt;
== TL;DR ==&lt;br /&gt;
&lt;br /&gt;
In diesem KBS zeige ich euch den kompletten Prozess, um einfache Anwendungen auf Mikrocontrollern zu bauen.&lt;br /&gt;
&lt;br /&gt;
Vom Aussuchen und Kauf der Hardware bis zum Programmieren und Flashen der Software.&lt;br /&gt;
&lt;br /&gt;
Vermutlich hauptsächlich STM32.&lt;br /&gt;
&lt;br /&gt;
Ganz vielleicht sage ich auch ein bisschen was über größere eingebettete Systeme (z.B. Raspberry Pi) und wie ihr euer eigenes Linux mit Buildroot baut.&lt;br /&gt;
&lt;br /&gt;
== Too Long Did Read ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
Kommen noch&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26081</id>
		<title>KunterBuntesSeminar-WS2223</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26081"/>
		<updated>2022-12-17T11:15:07Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist die Seite von dem [[KunterBuntesSeminar|KunterBuntenSeminar]] im [[Termine_WS_22/23|Wintersemester 2022]], welches das 27. Semester ist, in dem es stattfindet.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Immer &#039;&#039;&#039;Dienstags 18:00-20:00 in G-022&#039;&#039;&#039;. Eventuell wird es sogar einen Live-Stream über BBB geben, kommt aber lieber ans Ikum, so macht das alles mehr Spaß ;)&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
Themen kommen hauptsächlich von anderen Studis, trage dich also gerne ein, wenn du ein KBS halten möchtest (mehr dazu s.u.).&lt;br /&gt;
&lt;br /&gt;
;KW48 29.11.2022: [[KBS-WiSe2223-LinuxInstallParty|Linux install party]] von &amp;lt;ganz viele Menschen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;KW49 06.12.2022: [[KBS-WiSe2223-HowToLinux|HowTo: Linux]] von Ruben 14felgenh und anderen&lt;br /&gt;
&lt;br /&gt;
;KW50 13.12.2022: [[KBS-WiSe2223-Stonks|Stonks]] - Eine kleine Einführung in die Welt der Aktien by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW51 20.12.2022: [[KBS-WiSe2223-Steuern|Die spannende Welt der Steuern]] (und wir ihr eure Steuererklärung macht) by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW52 27.12.2022: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW01 03.01.2023: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW02 10.01.2023: [[KBS-WiSe2223-SymbolischeProgrammierung|Symbolische Programmierung (Mathematica, sympy, ...)]] von Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
;KW03 17.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW04 24.01.2023: [[KBS-WiSe2223-Mikrocontroller|Einstieg in die Mikrocontroller-Programmierung (+ Embedded Linux?)]] von Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
;KW05 31.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW06 07.02.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
=== Du möchtest selbst ein KBS halten? Großartig! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alle können mit machen&#039;&#039;&#039; und sich für ein [[KunterBuntesSeminar/Themen|bliebiges Thema]] eintragen. Lege einfach eine Wiki-Seite an (s. [[KunterBuntesSeminar|vergangene KBSe]]) und beschreibe was du bei dem KBS so machen möchtest. Und am besten ein paar Tage vorher eine Ankündigungsmail schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Für mehr Infos schau einmal in die [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Vortragende]] und ansonsten orientiere dich am besten an bestehende Einträge in der Liste oben (oder in Listen [[KunterBuntesSeminar|vergangener KBSse]]): Seite erstellen, dabei das [[KunterBuntesSeminar-SS22/Terminseiten-Header|KBS-Makro]] benutzen, ein wenig was zu deinem Thema schreiben, bewerben (Mailinglisten, Social Media, Zettel aushängen, Leute in der Fußgängerzone ansprechen, die Tagesschau fragen, ob sie drüber berichten, ....) und fertig!&lt;br /&gt;
&lt;br /&gt;
Bei weiteren Fragen schau einmal ins [[HOWTO:KBS]] (allerdings leeeeicht veraltet ;) ) und ansonsten kannst du dich natürlich auch gerne an die KBS-AG wenden ([mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de]).&lt;br /&gt;
&lt;br /&gt;
== Mailingliste ==&lt;br /&gt;
Das KBS hat eine Mailingliste, welche über [mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de] erreicht werden kann. Auf dieser Mailingliste sind alle Interessierten willkommen.&lt;br /&gt;
&lt;br /&gt;
Um auf diese Mailingliste zu kommen, musst du nur eine E-Mail an [mailto:kbs-subscribe@informatik.uni-hamburg.de kbs-subscribe@informatik.uni-hamburg.de] schreiben oder dich per [https://mailhost.informatik.uni-hamburg.de/mailman/listinfo/kbs Webinterface] anmelden.&lt;br /&gt;
&lt;br /&gt;
== Materialien ==&lt;br /&gt;
&lt;br /&gt;
* [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Referenten]]&lt;br /&gt;
* [[KunterBuntesSeminar/Themen#Themenvorschlaege|Themenvorschlaege]]&lt;br /&gt;
* [[KunterBuntesSeminar/Plakate|Offline Werbung]]&lt;br /&gt;
* [[KunterBuntesSeminar/KBB|Maskottchen]]&lt;br /&gt;
* [[HOWTO:KBS]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-HowToLinux&amp;diff=26067</id>
		<title>KBS-WiSe2223-HowToLinux</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-HowToLinux&amp;diff=26067"/>
		<updated>2022-12-06T10:45:44Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-WS22/Terminseiten-Header|2|6. Dezember}}&lt;br /&gt;
&lt;br /&gt;
== tl;dr ==&lt;br /&gt;
Wir schauen uns die Konsole und andere Tools von Linux an.&lt;br /&gt;
&lt;br /&gt;
== Was wird dran kommen? ==&lt;br /&gt;
&lt;br /&gt;
Du hast bereits ein Linux installiert und möchtest jetzt die geilen Tricks lernen um damit effizient und komfortabel um zu gehen? Dann ist dieses KBS genau das richtige für dich! Wir zeigen dir unter anderem,  wie du mit der Kommandozeile arbeitest.&lt;br /&gt;
&lt;br /&gt;
Dabei fangen wir bei Null an und navigieren uns durch Ordner, ändern, erzeugen, löschen, verschieben Dateien und lernen die Konsole etwas kennen.&lt;br /&gt;
&lt;br /&gt;
Danach geht es weiter mit verschiedenen Tools und wir lernen Programme wie z.B. &amp;quot;grep&amp;quot; oder &amp;quot;find&amp;quot; kennen. Auch werden wir hier z.B. einen USB-Stick (oder ein anderes Gerät) einbinden oder Prozesse in der Konsole verwalten.&lt;br /&gt;
&lt;br /&gt;
Keine Effizienz ohne Automatisierung. Wenn noch die Zeit bleibt, schauen wir uns daher auch die Programmierung von Scripten an. Hierfür greifen wir natürlich nicht auf einen normalen grafischen Texteditor zurück, sondern machen alles in der Konsole. Dafür nutzen wir dann z.B. &amp;quot;vim&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Auch werden wir uns die Verbindung zwischen Konsole und GUI anschauen, wir werden also lernen wie man z.B. grafische Programme aus der Konsole heraus startet und beendet.&lt;br /&gt;
&lt;br /&gt;
=== Warum sollte ich mit der Konsole arbeiten? ===&lt;br /&gt;
&lt;br /&gt;
Viel mehr geht es um die Tools und Programme mit denen wir uns beschäftigen. Diese zu kennen ich sehr nützlich, vor allem im Verlauf des Studiums und später im Berufsleben.&lt;br /&gt;
&lt;br /&gt;
Drüber hinaus begegnen uns Konsolen in der Linux-Welt tagtäglich und das hat einen Grund: Man kann häufig - mit etwas Übung - wesentlich effizienter darin arbeiten, als mit grafischen Anwendungen. Mit den richtigen Tools kann man darüber hinaus auch einfach viel mehr erreichen als mit den meisten grafischen Anwendungen.&lt;br /&gt;
&lt;br /&gt;
=== Was ist mit der Konsole in Windows? ===&lt;br /&gt;
&lt;br /&gt;
Auch mit ihr kann man sicherlich effizient arbeiten und auch mit den WSL (Windows Subsystem for Linux) kann man einiges erreichen, dieses KBS geht aber erst mal von einer normalen Linux-Konsole aus.&lt;br /&gt;
&lt;br /&gt;
=== Was benötige ich für dieses KBS? ===&lt;br /&gt;
&lt;br /&gt;
Ein funktionierendes Linux (fest installiert oder z.B. vom letzten KBS in einer VM (virtuellen Maschine)). Das wars auch schon, eine Konsole ist grundsätzlich bei einem Linux mit dabei.&lt;br /&gt;
&lt;br /&gt;
=== Kann ich für das KBS auch das WSL benutzen? ===&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich schon, aber keine Garantie, dass alles genauso funktioniert ;)&lt;br /&gt;
&lt;br /&gt;
=== Welche Tools kommen dran? ===&lt;br /&gt;
&lt;br /&gt;
* cp, mv, rm, mkdir, touch, chmod/chown&lt;br /&gt;
* ls, cat, echo&lt;br /&gt;
* sudo, mount/umount&lt;br /&gt;
* find, grep&lt;br /&gt;
* htop, kill&lt;br /&gt;
* nano, vim&lt;br /&gt;
* Ein wenig Konfiguration der Bash (.bashrc)&lt;br /&gt;
* Erstellen einfacher Bash-Scripte&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
Ruben 14felgenh und weitere.&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
* Folien: [[Datei:Kbs-howto-linux.pdf]]&lt;br /&gt;
* Zusammenfassung wichtiger Terminal-Befehle: [[Datei:How-to-linux.pdf]] (oder unter [https://git.mafiasi.de/KBS/oerb-advanced/src/branch/master/how-to-linux.md]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Folien über Shell/Bash/Terminal allgemein: [[Datei:OERB-Advanced-1819-Folien.pdf]] (oder unter [https://git.mafiasi.de/KBS/oerb-advanced/raw/master/oerb-advanced.pdf])&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Was muss ich mitbringen? ==&lt;br /&gt;
* Rechner / VM (virtuelle Maschine) mit Linux&lt;br /&gt;
&lt;br /&gt;
Wie oben erwähnt: WSL könnte auch gehen, aber keine Garantie ;) Um die PowerShell/CMD kümmern wir uns in diesem KBS allerdings nicht.&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=Datei:Praesentation.pdf&amp;diff=26066</id>
		<title>Datei:Praesentation.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=Datei:Praesentation.pdf&amp;diff=26066"/>
		<updated>2022-12-06T10:43:54Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: 4felgenh verschob die Seite Datei:Praesentation.pdf nach Datei:Kbs-howto-linux.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#WEITERLEITUNG [[Datei:Kbs-howto-linux.pdf]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=Datei:Kbs-howto-linux.pdf&amp;diff=26065</id>
		<title>Datei:Kbs-howto-linux.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=Datei:Kbs-howto-linux.pdf&amp;diff=26065"/>
		<updated>2022-12-06T10:43:54Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: 4felgenh verschob die Seite Datei:Praesentation.pdf nach Datei:Kbs-howto-linux.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=Datei:Kbs-howto-linux.pdf&amp;diff=26064</id>
		<title>Datei:Kbs-howto-linux.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=Datei:Kbs-howto-linux.pdf&amp;diff=26064"/>
		<updated>2022-12-06T10:38:00Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-SymbolischeProgrammierung&amp;diff=26029</id>
		<title>KBS-WiSe2223-SymbolischeProgrammierung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-WiSe2223-SymbolischeProgrammierung&amp;diff=26029"/>
		<updated>2022-11-22T19:51:52Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Die Seite wurde neu angelegt: „{{:KunterBuntesSeminar-WS22/Terminseiten-Header|5|10. Januar}}  == tl;dr ==  Symbolische Programmierung mit Wolfram Mathematica und sympy (Python).  == Too Long Did Read ==  TBD  == Vortragende ==  * Ruben 14felgenh  == Folien ==  Kommen noch  == Was muss ich mitbringen? ==  Idealerweise bringst du ein eigenes Notebook mit installiertem Wolfram Mathematica und &amp;lt;abbr title=&amp;quot;$ pip install sympy&amp;quot;&amp;gt;sympy&amp;lt;/abbr&amp;gt; mit.  Als Studierender der UHH kannst du eine Mat…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-WS22/Terminseiten-Header|5|10. Januar}}&lt;br /&gt;
&lt;br /&gt;
== tl;dr ==&lt;br /&gt;
&lt;br /&gt;
Symbolische Programmierung mit Wolfram Mathematica und sympy (Python).&lt;br /&gt;
&lt;br /&gt;
== Too Long Did Read ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Vortragende ==&lt;br /&gt;
&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
== Folien ==&lt;br /&gt;
&lt;br /&gt;
Kommen noch&lt;br /&gt;
&lt;br /&gt;
== Was muss ich mitbringen? ==&lt;br /&gt;
&lt;br /&gt;
Idealerweise bringst du ein eigenes Notebook mit installiertem Wolfram Mathematica und &amp;lt;abbr title=&amp;quot;$ pip install sympy&amp;quot;&amp;gt;sympy&amp;lt;/abbr&amp;gt; mit.&lt;br /&gt;
&lt;br /&gt;
Als Studierender der UHH kannst du eine Mathematica-Lizenz der Uni benutzen. Mehr Infos dazu findest du [https://www.rrz.uni-hamburg.de/services/software/software-thematisch/software-alpha/mathematica.html hier] (nur aus dem Uni-Netz oder über VPN verfügbar).&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26028</id>
		<title>KunterBuntesSeminar-WS2223</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26028"/>
		<updated>2022-11-22T19:31:37Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Mathematica-KBS eingetragen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist die Seite von dem [[KunterBuntesSeminar|KunterBuntenSeminar]] im [[Termine_WS_22/23|Wintersemester 2022]], welches das 27. Semester ist, in dem es stattfindet.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Immer &#039;&#039;&#039;Dienstags 18:00-20:00 in G-022&#039;&#039;&#039;. Eventuell wird es sogar einen Live-Stream über BBB geben, kommt aber lieber ans Ikum, so macht das alles mehr Spaß ;)&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
Themen kommen hauptsächlich von anderen Studis, trage dich also gerne ein, wenn du ein KBS halten möchtest (mehr dazu s.u.).&lt;br /&gt;
&lt;br /&gt;
;KW48 29.11.2022: [[KBS-WiSe2223-LinuxInstallParty|Linux install party]] von &amp;lt;ganz viele Menschen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;KW49 06.12.2022: [[KBS-WiSe2223-HowToLinux|HowTo: Linux]] von TBA&lt;br /&gt;
&lt;br /&gt;
;KW50 13.12.2022: [[KBS-WiSe2223-Stonks|Stonks]] - Eine kleine Einführung in die Welt der Aktien by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW51 20.12.2022: [[KBS-WiSe2223-Steuern|Die spannende Welt der Steuern]] (und wir ihr eure Steuererklärung macht) by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW52 27.12.2022: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW01 03.01.2023: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW02 10.01.2023: [[KBS-WiSe2223-SymbolischeProgrammierung|Symbolische Programmierung (Mathematica, sympy, ...)]] von Ruben 14felgenh&lt;br /&gt;
&lt;br /&gt;
;KW03 17.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW04 24.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW05 31.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW06 07.02.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
=== Du möchtest selbst ein KBS halten? Großartig! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alle können mit machen&#039;&#039;&#039; und sich für ein [[KunterBuntesSeminar/Themen|bliebiges Thema]] eintragen. Lege einfach eine Wiki-Seite an (s. [[KunterBuntesSeminar|vergangene KBSe]]) und beschreibe was du bei dem KBS so machen möchtest. Und am besten ein paar Tage vorher eine Ankündigungsmail schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Für mehr Infos schau einmal in die [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Vortragende]] und ansonsten orientiere dich am besten an bestehende Einträge in der Liste oben (oder in Listen [[KunterBuntesSeminar|vergangener KBSse]]): Seite erstellen, dabei das [[KunterBuntesSeminar-SS22/Terminseiten-Header|KBS-Makro]] benutzen, ein wenig was zu deinem Thema schreiben, bewerben (Mailinglisten, Social Media, Zettel aushängen, Leute in der Fußgängerzone ansprechen, die Tagesschau fragen, ob sie drüber berichten, ....) und fertig!&lt;br /&gt;
&lt;br /&gt;
Bei weiteren Fragen schau einmal ins [[HOWTO:KBS]] (allerdings leeeeicht veraltet ;) ) und ansonsten kannst du dich natürlich auch gerne an die KBS-AG wenden ([mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de]).&lt;br /&gt;
&lt;br /&gt;
== Mailingliste ==&lt;br /&gt;
Das KBS hat eine Mailingliste, welche über [mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de] erreicht werden kann. Auf dieser Mailingliste sind alle Interessierten willkommen.&lt;br /&gt;
&lt;br /&gt;
Um auf diese Mailingliste zu kommen, musst du nur eine E-Mail an [mailto:kbs-subscribe@informatik.uni-hamburg.de kbs-subscribe@informatik.uni-hamburg.de] schreiben oder dich per [https://mailhost.informatik.uni-hamburg.de/mailman/listinfo/kbs Webinterface] anmelden.&lt;br /&gt;
&lt;br /&gt;
== Materialien ==&lt;br /&gt;
&lt;br /&gt;
* [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Referenten]]&lt;br /&gt;
* [[KunterBuntesSeminar/Themen#Themenvorschlaege|Themenvorschlaege]]&lt;br /&gt;
* [[KunterBuntesSeminar/Plakate|Offline Werbung]]&lt;br /&gt;
* [[KunterBuntesSeminar/KBB|Maskottchen]]&lt;br /&gt;
* [[HOWTO:KBS]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26027</id>
		<title>KunterBuntesSeminar-WS2223</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KunterBuntesSeminar-WS2223&amp;diff=26027"/>
		<updated>2022-11-22T19:13:39Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das ist die Seite von dem [[KunterBuntesSeminar|KunterBuntenSeminar]] im [[Termine_WS_22/23|Wintersemester 2022]], welches das 27. Semester ist, in dem es stattfindet.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Immer &#039;&#039;&#039;Dienstags 18:00-20:00 in G-022&#039;&#039;&#039;. Eventuell wird es sogar einen Live-Stream über BBB geben, kommt aber lieber ans Ikum, so macht das alles mehr Spaß ;)&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
Themen kommen hauptsächlich von anderen Studis, trage dich also gerne ein, wenn du ein KBS halten möchtest (mehr dazu s.u.).&lt;br /&gt;
&lt;br /&gt;
;KW48 29.11.2022: [[KBS-WiSe2223-LinuxInstallParty|Linux install party]] von &amp;lt;ganz viele Menschen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;KW49 06.12.2022: [[KBS-WiSe2223-HowToLinux|HowTo: Linux]] von TBA&lt;br /&gt;
&lt;br /&gt;
;KW50 13.12.2022: [[KBS-WiSe2223-Stonks|Stonks]] - Eine kleine Einführung in die Welt der Aktien by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW51 20.12.2022: [[KBS-WiSe2223-Steuern|Die spannende Welt der Steuern]] (und wir ihr eure Steuererklärung macht) by [[Benutzer:14stieler|Hauke 14stieler]]&lt;br /&gt;
&lt;br /&gt;
;KW52 27.12.2022: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW01 03.01.2023: &#039;&#039;(fällt aus)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;KW02 10.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW03 17.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW04 24.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW05 31.01.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
;KW06 07.02.2023: (noch frei)&lt;br /&gt;
&lt;br /&gt;
=== Du möchtest selbst ein KBS halten? Großartig! ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alle können mit machen&#039;&#039;&#039; und sich für ein [[KunterBuntesSeminar/Themen|bliebiges Thema]] eintragen. Lege einfach eine Wiki-Seite an (s. [[KunterBuntesSeminar|vergangene KBSe]]) und beschreibe was du bei dem KBS so machen möchtest. Und am besten ein paar Tage vorher eine Ankündigungsmail schreiben ;)&lt;br /&gt;
&lt;br /&gt;
Für mehr Infos schau einmal in die [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Vortragende]] und ansonsten orientiere dich am besten an bestehende Einträge in der Liste oben (oder in Listen [[KunterBuntesSeminar|vergangener KBSse]]): Seite erstellen, dabei das [[KunterBuntesSeminar-SS22/Terminseiten-Header|KBS-Makro]] benutzen, ein wenig was zu deinem Thema schreiben, bewerben (Mailinglisten, Social Media, Zettel aushängen, Leute in der Fußgängerzone ansprechen, die Tagesschau fragen, ob sie drüber berichten, ....) und fertig!&lt;br /&gt;
&lt;br /&gt;
Bei weiteren Fragen schau einmal ins [[HOWTO:KBS]] (allerdings leeeeicht veraltet ;) ) und ansonsten kannst du dich natürlich auch gerne an die KBS-AG wenden ([mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de]).&lt;br /&gt;
&lt;br /&gt;
== Mailingliste ==&lt;br /&gt;
Das KBS hat eine Mailingliste, welche über [mailto:kbs@informatik.uni-hamburg.de kbs@informatik.uni-hamburg.de] erreicht werden kann. Auf dieser Mailingliste sind alle Interessierten willkommen.&lt;br /&gt;
&lt;br /&gt;
Um auf diese Mailingliste zu kommen, musst du nur eine E-Mail an [mailto:kbs-subscribe@informatik.uni-hamburg.de kbs-subscribe@informatik.uni-hamburg.de] schreiben oder dich per [https://mailhost.informatik.uni-hamburg.de/mailman/listinfo/kbs Webinterface] anmelden.&lt;br /&gt;
&lt;br /&gt;
== Materialien ==&lt;br /&gt;
&lt;br /&gt;
* [[KunterBuntesSeminar/ChecklisteSeminar|Checkliste für Referenten]]&lt;br /&gt;
* [[KunterBuntesSeminar/Themen#Themenvorschlaege|Themenvorschlaege]]&lt;br /&gt;
* [[KunterBuntesSeminar/Plakate|Offline Werbung]]&lt;br /&gt;
* [[KunterBuntesSeminar/KBB|Maskottchen]]&lt;br /&gt;
* [[HOWTO:KBS]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:KunterBuntesSeminar]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=25475</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=25475"/>
		<updated>2021-04-28T16:13:45Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: /* Physik / Physnet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; und &amp;lt;pre&amp;gt;man ssh&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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).&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Weitere Infos gibt es im [https://wr.informatik.uni-hamburg.de/teaching/ressourcen/beginners_guide Beginners Guide des DKRZ].&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
Außerdem ist das RRZ Mitglied im [https://www.hlrn.de/ Norddeutschen Verbund für Hoch- und Höchstleistungsrechnen].&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Konfiguration ==&lt;br /&gt;
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
  Compression yes&lt;br /&gt;
&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
  # DynamicForward 7777&lt;br /&gt;
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Host ccblade*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&lt;br /&gt;
Host dkrz&lt;br /&gt;
  User nachname&lt;br /&gt;
  HostName cluster.wr.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host zbh&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName bari.zbh.uni-hamburg.de&lt;br /&gt;
  Port 7373&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host mondsee&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName mondsee&lt;br /&gt;
  ProxyJump zbh&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host physnet&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName login1.physnet.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host studix*&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  ProxyJump physnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=25474</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=25474"/>
		<updated>2021-04-28T16:08:26Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: /* Informatikum / iRZ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; und &amp;lt;pre&amp;gt;man ssh&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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).&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Weitere Infos gibt es im [https://wr.informatik.uni-hamburg.de/teaching/ressourcen/beginners_guide Beginners Guide des DKRZ].&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
Außerdem ist das RRZ Mitglied im [https://www.hlrn.de/ Norddeutschen Verbund für Hoch- und Höchstleistungsrechnen].&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Konfiguration ==&lt;br /&gt;
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
  Compression yes&lt;br /&gt;
&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
  # DynamicForward 7777&lt;br /&gt;
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Host ccblade*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&lt;br /&gt;
Host dkrz&lt;br /&gt;
  User nachname&lt;br /&gt;
  HostName cluster.wr.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host zbh&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName bari.zbh.uni-hamburg.de&lt;br /&gt;
  Port 7373&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host mondsee&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName mondsee&lt;br /&gt;
  ProxyJump zbh&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host physnet&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName login1.physnet.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host studix*&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  ProxyJump physnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=25473</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=25473"/>
		<updated>2021-04-28T16:06:45Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: /* Passwort aus Keyring auslesen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; und &amp;lt;pre&amp;gt;man ssh&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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).&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Weitere Infos gibt es im [https://wr.informatik.uni-hamburg.de/teaching/ressourcen/beginners_guide Beginners Guide des DKRZ].&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
Außerdem ist das RRZ Mitglied im [https://www.hlrn.de/ Norddeutschen Verbund für Hoch- und Höchstleistungsrechnen].&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Konfiguration ==&lt;br /&gt;
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
  Compression yes&lt;br /&gt;
&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
  # DynamicForward 7777&lt;br /&gt;
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Host ccblade*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&lt;br /&gt;
Host dkrz&lt;br /&gt;
  User nachname&lt;br /&gt;
  HostName cluster.wr.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host zbh&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName bari.zbh.uni-hamburg.de&lt;br /&gt;
  Port 7373&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host mondsee&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName mondsee&lt;br /&gt;
  ProxyJump zbh&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host physnet&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName login1.physnet.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host studix*&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  ProxyJump physnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=25091</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=25091"/>
		<updated>2020-05-26T16:35:34Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; und &amp;lt;pre&amp;gt;man ssh&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Weitere Infos gibt es im [https://wr.informatik.uni-hamburg.de/teaching/ressourcen/beginners_guide Beginners Guide des DKRZ].&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
Außerdem ist das RRZ Mitglied im [https://www.hlrn.de/ Norddeutschen Verbund für Hoch- und Höchstleistungsrechnen].&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Konfiguration ==&lt;br /&gt;
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
  Compression yes&lt;br /&gt;
&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
  # DynamicForward 7777&lt;br /&gt;
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Host ccblade*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&lt;br /&gt;
Host dkrz&lt;br /&gt;
  User nachname&lt;br /&gt;
  HostName cluster.wr.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host zbh&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName bari.zbh.uni-hamburg.de&lt;br /&gt;
  Port 7373&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host mondsee&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName mondsee&lt;br /&gt;
  ProxyJump zbh&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host physnet&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName login1.physnet.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host studix*&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  ProxyJump physnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=X2Go&amp;diff=25090</id>
		<title>X2Go</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=X2Go&amp;diff=25090"/>
		<updated>2020-05-26T16:34:21Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Die Seite wurde neu angelegt: „= X2Go = X2Go ist eine Alternative zum X-Forwarding, um auf einem entfernten Rechner per SSH ein Programm mit grafischer Benutzero…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= X2Go =&lt;br /&gt;
X2Go ist eine Alternative zum [[SSH#X-Forwarding|X-Forwarding]], um auf einem entfernten Rechner per [[SSH|SSH]] ein Programm mit grafischer Benutzeroberfläche zu starten, das üblicherweise eine bessere Performance liefert als X-Forwarding.&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil an X2Go ist, dass auf dem Host der X2GoServer installiert sein muss, wie das z.B. beim [[SSH#DKRZ|DKRZ]] der Fall ist.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Um X2Go nutzen zu können, muss auf dem eigenen Rechner der &amp;lt;code&amp;gt;X2GoClient&amp;lt;/code&amp;gt; installiert werden.&lt;br /&gt;
&lt;br /&gt;
== Benutzung ==&lt;br /&gt;
&lt;br /&gt;
Üblicherweise legt man für jede Anwendung einen eigenen Sitzungstyp an. Hierfür kann man im X2GoClient auf &amp;quot;Neue Sitzung&amp;quot; klicken.&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration für den Allinea DDT Debugger auf dem Cluster des DKRZ wäre:&lt;br /&gt;
&lt;br /&gt;
* Sitzungsname: &amp;lt;code&amp;gt;DDT&amp;lt;/code&amp;gt;&lt;br /&gt;
* Server&lt;br /&gt;
** Host: &amp;lt;code&amp;gt;Cluster.wr.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
** Login: &amp;lt;code&amp;gt;&amp;lt;Cluster-Benutzername&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
** Port: &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt;&lt;br /&gt;
** RSA-/DSA-Schlüssel verwenden (ssh): &amp;lt;code&amp;gt;/home/&amp;lt;Lokaler Benutzername&amp;gt;/.ssh/id_rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;[x]&amp;lt;/code&amp;gt; Anmeldung über voreingestellten SSH-Schlüssel oder ssh-agent&lt;br /&gt;
&lt;br /&gt;
Wichtig ist, dass man unten bei &amp;quot;Sitzungsart&amp;quot; in der Dropdown-Box &amp;quot;Anwendung&amp;quot; auswählt und dann ganz rechts daneben in die ComboBox &amp;lt;code&amp;gt;ddt&amp;lt;/code&amp;gt; einträgt. In der Standardkonfiguration würde X2Go versuchen eine Desktopumgebung auf dem Host zu öffnen, was ziemlich sicher schiefgeht.&lt;br /&gt;
&lt;br /&gt;
Außerdem wurde hier davon ausgegangen, dass auf dem Host passwortloses Anmelden via [[SSH#Public-Key-Authentifizierung|Public-Key-Authentifizierung]] möglich ist. Falls das nicht so ist, kann man die beiden Konfigurationseinträge bzgl. der SSH-Schlüssel weglassen.&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24887</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24887"/>
		<updated>2019-11-15T15:50:13Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Weitere hilfreiche Links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; und &amp;lt;pre&amp;gt;man ssh&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Weitere Infos gibt es im [https://wr.informatik.uni-hamburg.de/teaching/ressourcen/beginners_guide Beginners Guide des DKRZ].&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
Außerdem ist das RRZ Mitglied im [https://www.hlrn.de/ Norddeutschen Verbund für Hoch- und Höchstleistungsrechnen].&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Konfiguration ==&lt;br /&gt;
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
  Compression yes&lt;br /&gt;
&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
  # DynamicForward 7777&lt;br /&gt;
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Host ccblade*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&lt;br /&gt;
Host dkrz&lt;br /&gt;
  User nachname&lt;br /&gt;
  HostName cluster.wr.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host zbh&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName bari.zbh.uni-hamburg.de&lt;br /&gt;
  Port 7373&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host mondsee&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName mondsee&lt;br /&gt;
  ProxyJump zbh&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host physnet&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName login1.physnet.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host studix*&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  ProxyJump physnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24885</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24885"/>
		<updated>2019-11-15T12:41:04Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; und &amp;lt;pre&amp;gt;man ssh&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hatte auch mal zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die wurden aber wohl 2018 abgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Konfiguration ==&lt;br /&gt;
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
  Compression yes&lt;br /&gt;
&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
  # DynamicForward 7777&lt;br /&gt;
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Host ccblade*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&lt;br /&gt;
Host dkrz&lt;br /&gt;
  User nachname&lt;br /&gt;
  HostName cluster.wr.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host zbh&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName bari.zbh.uni-hamburg.de&lt;br /&gt;
  Port 7373&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host mondsee&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName mondsee&lt;br /&gt;
  ProxyJump zbh&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host physnet&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName login1.physnet.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host studix*&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  ProxyJump physnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24883</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24883"/>
		<updated>2019-11-15T12:25:44Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; und &amp;lt;pre&amp;gt;man ssh&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hatte auch mal zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die wurden aber wohl 2018 abgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Konfiguration ==&lt;br /&gt;
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
  Compression yes&lt;br /&gt;
&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
  # DynamicForward 7777&lt;br /&gt;
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Host ccblade*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&lt;br /&gt;
Host dkrz&lt;br /&gt;
  User nachname&lt;br /&gt;
  HostName cluster.wr.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host zbh&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName bari.zbh.uni-hamburg.de&lt;br /&gt;
  Port 7373&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host mondsee&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName mondsee&lt;br /&gt;
  ProxyJump zbh&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host physnet&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName login1.physnet.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host studix*&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  ProxyJump physnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24882</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24882"/>
		<updated>2019-11-15T12:21:10Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Beispiel-Config hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte Konfiguration ist ganz unten unter [[#Beispiel-Konfiguration|Beispiel-Konfiguration]] zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; und &amp;lt;pre&amp;gt;man ssh&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hatte auch mal zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die wurden aber wohl 2018 abgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Konfiguration ==&lt;br /&gt;
Eine beispielhafte ~/.ssh/config, die einige der Aspekte oben auffasst, könnte so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
  Compression yes&lt;br /&gt;
&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
  # DynamicForward 7777&lt;br /&gt;
  # LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Host ccblade*&lt;br /&gt;
  User 0nachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&lt;br /&gt;
Host dkrz&lt;br /&gt;
  User nachname&lt;br /&gt;
  HostName cluster.wr.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host zbh&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName bari.zbh.uni-hamburg.de&lt;br /&gt;
  Port 7373&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host mondsee&lt;br /&gt;
  User vnachname&lt;br /&gt;
  HostName mondsee&lt;br /&gt;
  ProxyJump zbh&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host physnet&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName login1.physnet.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&lt;br /&gt;
Host studix*&lt;br /&gt;
  User vnachnam&lt;br /&gt;
  HostName %h&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  ProxyJump physnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24881</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24881"/>
		<updated>2019-11-15T12:15:04Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: IdentitiesOnly ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IdentitiesOnly ====&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hatte auch mal zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die wurden aber wohl 2018 abgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24880</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24880"/>
		<updated>2019-11-15T11:59:28Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Technische Infrastruktur der Institute ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hatte auch mal zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die wurden aber wohl 2018 abgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24879</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24879"/>
		<updated>2019-11-15T11:52:52Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24878</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24878"/>
		<updated>2019-11-15T11:36:51Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: WSL und PuTTY hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Benutzung (Simples Einloggen) === &lt;br /&gt;
&lt;br /&gt;
==== Linux / Mac / andere Unixoide ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Windows (ab Windows 10) ====&lt;br /&gt;
Windows 10 hat jetzt das Windows Subsystem For Linux (WSL), welches eine Art virtuelles Linux auf einem Windows-System bereitstellt.&lt;br /&gt;
&lt;br /&gt;
Hier können wir einfach das Linux-Programm ssh verwenden und die Tricks verwenden, die unten aufgeführt sind.&lt;br /&gt;
&lt;br /&gt;
==== Windows (bis Windows 8) ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Selbstverständlich gelten die allermeisten Tipps weiter unten nicht oder nur eingeschränkt für PuTTY.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
*Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!*&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24877</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24877"/>
		<updated>2019-11-15T11:31:34Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: scp und sshfs hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Simples Einloggen ===&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#scp|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
*Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!*&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
==== scp ==== &lt;br /&gt;
Der einfachste Weg, Dateien von einem entfernten Host auf den lokalen Rechner zu kopieren, oder umgekehrt, ist mit scp.&lt;br /&gt;
&lt;br /&gt;
Um eine Datei / einen Ordner vom Host auf den Rechner zu kopieren, führt man folgendes auf seinem Rechner aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einer/datei ./&lt;br /&gt;
# oder:&lt;br /&gt;
$ scp -r &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/zu/einem/ordner ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um eine Datei vom Rechner auf den Host zu kopieren, führt man auf seinem Rechner aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp ./pfad/zur/datei &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/vom/zielverzeichnis/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SFTP / SSHFS ====&lt;br /&gt;
Um ein Verzeichnis von einem entfernen Host in einem lokalen Ordner zu mounten, kann man SSHFS benutzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sshfs &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;:~/pfad/auf/dem/server/ ~/pfad/zu/einem/leeren/ordner &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FileZilla ====&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24876</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24876"/>
		<updated>2019-11-15T11:18:51Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Simples Einloggen ===&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== Arbeiten mit Wildcards ====&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#Dateitransfer|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
*Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!*&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24875</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24875"/>
		<updated>2019-11-15T11:12:40Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Eine Menge hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Mittels SSH kann man sich von einem beliebigen Rechner auf einen anderen Rechner anmelden, z.B. auf das Informatik-Rechenzentrum mit dem Informatik-Account. Das ist nützlich, wenn man z.B. von zu Hause auf Programme und Dateien zugreifen möchte, die auf den Informatik-Rechnern liegen, oder wenn man nicht von einem Poolrechner, sondern von einem beliebigen Rechner [[drucken]] möchte. Wie SSH beim iRZ und vielen anderen Instituten funktioniert, und was man damit alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&lt;br /&gt;
=== Simples Einloggen ===&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um sich die nervige Tipparbeit und das Eingeben des Passworts sparen zu können, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parameter / Konfigurationseinträge ===&lt;br /&gt;
&lt;br /&gt;
Man kann bei SSH viele nützliche Parameter übergeben, allerdings die meisten (oder alle?) auch einfach in der ~/.ssh/config eintragen.&lt;br /&gt;
&lt;br /&gt;
Wenn du in dieser Liste nicht fündig wirst und noch mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
=== Arbeiten mit Wildcards ===&lt;br /&gt;
&lt;br /&gt;
In der SSH-Config können z.B. in den Hostnames Wildcards vorkommen. Dadurch ist z.B. so ein Setup möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi*&lt;br /&gt;
  User 0bock&lt;br /&gt;
  [Viele weitere Einträge]&lt;br /&gt;
Host fbi1&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi2&lt;br /&gt;
  Hostname rzssh2.informatik.uni-hamburg.de&lt;br /&gt;
Host fbi&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn man viele Konfigurationseinträge hat, kann man die durch eine Wildcard sowohl auf rzssh1 als auch rzssh2 (falls rzssh1 mal down ist) anwenden, und gleichzeitig immer noch den komfortablen alias fbi dazu haben.&lt;br /&gt;
Bei manchen Parametern kann es auch sinnvoll sein, sie mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  [Viele Einträge]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
auf alle Hosts anzuwenden.&lt;br /&gt;
&lt;br /&gt;
==== X-Forwarding ====&lt;br /&gt;
Wenn du grafische Anwendungen per SSH auf einem entfernten Host ausführen willst, so dass sie auf deinem lokalen Bildschirm angezeigt werden, kannst du SSH-Forwarding verwenden. Das geht mittels ForwardX11 in der ~/.ssh/config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -X &amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt auch ForwardX11Trusted bzw. den Parameter -Y.&lt;br /&gt;
&lt;br /&gt;
Falls die Performance von X-Forwarding schlecht ist, kann man versuchen, [[#Kompression|Kompression]] anzuschalten.&lt;br /&gt;
&lt;br /&gt;
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 aus dem Host der X2GO-Server installiert sein muss, wie das z.B. beim [[#DKRZ|DKRZ]] der Fall ist.&lt;br /&gt;
&lt;br /&gt;
==== DynamicForward ====&lt;br /&gt;
&lt;br /&gt;
Um einen lokalen SOCKS-Proxy zum [[Tunneln]] einzurichten, kannst du DynamicForward verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LocalForward ====&lt;br /&gt;
&lt;br /&gt;
Mittels LocalForward kann man Ports von der Host-Maschine auf die lokale Maschine forwarden. Durch folgende Zeilen kann z.B. der CUPS-Dienst ([[drucken]]) auf Port 6631 der lokalen Maschine genutzt werden (verwenden wir aber nicht mehr?):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 9nachnam&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ProxyJump ====&lt;br /&gt;
Häufig kann man sich von einem Host aus noch auf weitere Rechner einloggen, die von außen nicht zugänglich sind. Bei manchen [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Instituten]] ist der von außen erreichbare Host sogar explizit als Login-Node gedacht, also nur dafür, dass man sich von hier weiterverbindet. Beim [[#ZBH|ZBH]] ist man sogar darauf angewiesen, sich auf einen anderen Rechner weiterzuverbinden, weil man für gewöhnlich auf dem Login-Node kein home-Verzeichnis hat. In solchen Situationen kann man ProxyJump verwenden, wie hier im Fall für ccblade1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host ccblade1&lt;br /&gt;
  User 0bock&lt;br /&gt;
  HostName ccblade1&lt;br /&gt;
  ProxyJump fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls man den Namen des Hosts erst auf dem Proxy-Rechner ermitteln möchte oder z.B. erst herausfinden möchte, welcher Rechner denn verfügbar ist, kann man ProxyCommand verwenden.&lt;br /&gt;
&lt;br /&gt;
==== ProxyCommand ====&lt;br /&gt;
&lt;br /&gt;
Mit ProxyCommand kann man einen Befehl angeben, der automatisch auf dem Host ausgeführt werden soll. Z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 0bock@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Port ====&lt;br /&gt;
Standardmäßig läuft SSH auf dem Port 22. Falls man einen anderen Port braucht, wie z.B. beim [[#ZBH|ZBH]], geht das mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host foo&lt;br /&gt;
  User bar&lt;br /&gt;
  HostName qux&lt;br /&gt;
  Port 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder per Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -p 42 &amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vorsicht: Bei [[#Dateitransfer|scp]] wird der Parameter groß geschrieben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp -P 42 &amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kompression ====&lt;br /&gt;
SSH kann die Datenströme zwischen dem Host und deinem Rechner auch komprimieren. Da heutige Rechner in der Regel schneller komprimieren können, als die Netzwerkverbindung zum Host schnell ist, ist das in den allermeisten Fällen ein Performance-Gewinn und kann deshalb auch relativ bedenkenlos für alle Hosts angeschaltet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  Compression yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternativ geht das über den Parameter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh -C &amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Das &amp;quot;Broken-Pipe&amp;quot;-Problem ====&lt;br /&gt;
Wer häufiger Probleme mit der Meldung &amp;quot;Broken Pipe&amp;quot; hat, wenn man eine Weile keine Befehle per SSH eingegeben hat, wenn der Rechner kurz die Netzwerkverbindung verliert, Pakete verloren gehen, oder man seinen Rechner kurz in den Standby versetzt hat, sind vllt. folgende Zeilen eine Lösung, die eigentlich auch für alle Hosts angewendet werden können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
  ServerAliveInterval 30&lt;br /&gt;
  ServerAliveCountMax 100&lt;br /&gt;
  TCPKeepAlive yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anmelden ohne Passwort-Eingabe ===&lt;br /&gt;
&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Das geht auf mehrere Arten, wobei nur eine wirklich als sicher bezeichnet werden kann, nämlich [[#Public-Key-Authentifizierung|Public-Key-Authentifizierung]].&lt;br /&gt;
*Mit anderen Worten: Wenn Public-Key-Authentifizierung funktioniert, dann immer Public-Key-Authentifizierung verwenden!*&lt;br /&gt;
&lt;br /&gt;
==== Public-Key-Authentifizierung ====&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen&lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa):&lt;br /&gt;
Enter passphrase (empty for no passphrase):&lt;br /&gt;
Enter same passphrase again:&lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
==== expect ====&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Das kann man allerdings umgehen, indem man das Passwort aus einem [[#Passwort_aus_Keyring_auslesen|Keyring]] ausliest. Wenn einen das aber nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Im einfachsten Fall sieht das etwa so aus (für ccblade1 über rzssh1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;fbi&amp;quot;&lt;br /&gt;
set user &amp;quot;0bock&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
expect &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
send &amp;quot;ssh ccblade1\n&amp;quot;&lt;br /&gt;
expect &amp;quot;assword:&amp;quot;&lt;br /&gt;
send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
interact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sshpass ====&lt;br /&gt;
&lt;br /&gt;
SSHPASS ist ein Programm, das ähnlich wie expect die Passworteingabe bei SSH übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
Ein großer Vorteil ist, dass man SSHPASS sowohl mit SSH als auch SCP verwenden kann, dass man mit SSHPASS Datenströme durch SSH pipen kann, also dass z.B. [[drucken]] über SSH funktioniert, und dass man flexibler bei der Angabe zusätzlicher Paramater und spontanter Authentifizierungsprobleme etc. ist.&lt;br /&gt;
&lt;br /&gt;
SSHPASS kann das Passwort aus einer Datei lesen, per STDIN, als Argument, oder über die Umgebungsvariable &amp;quot;SSHPASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ein simples Beispiel sähe in etwa so aus für ssh und scp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass ssh &amp;lt;host&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | sshpass scp &amp;lt;host&amp;gt;:~/eine/datei ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSHPASS ist, dass dadurch meistens kein Einloggen auf einem Rechner hinter einem Login Node ist möglich ist, da auf dem Host nur selten ebenfalls SSHPASS installiert ist und man selbst dann auch sein Passwort irgendwie an den Host übertragen müsste.&lt;br /&gt;
&lt;br /&gt;
Außerdem muss man natürlich sein Passwort irgendwie im Klartext hinterlegen, wenn man sein Passwort nicht im [[#Passwort_aus_Keyring_auslesen|Schlüsselbund]] des Betriebssystems ablegen kann oder will.&lt;br /&gt;
&lt;br /&gt;
==== Passwort aus Keyring auslesen ====&lt;br /&gt;
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.&lt;br /&gt;
Hierfür muss man dann einmalig sein Passwort im Schlüsselbund hinterlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &#039;geheimes-pw&#039; | gnome-keyring-query set informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und im folgenden kann man das Passwort nach Belieben auslesen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gnome-keyring-query get informatik&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um es mit expect zu verwenden, kann man z.B. die Zeile, in der die Variable $pass gesetzt wird, austauschen durch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pass [exec bash -c &amp;quot;echo -n \&amp;quot;\$(gnome-keyring-query get informatik)\&amp;quot;&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und mit SSHPASS kann man das folgendermaßen verwenden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ SSHPASS=&amp;quot;$(gnome-keyring-query get informatik)&amp;quot; sshpass -e ssh fbi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht hilft einem ja der folgende alias in der ~/.bashrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sshp () {&lt;br /&gt;
  SSHPASS=&amp;quot;$(gnome-keyring-query get &amp;quot;$1&amp;quot;)&amp;quot; sshpass -e ssh &amp;quot;$1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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 7373 (-p 7373 bei SSH, -P 7373 bei SCP, oder Zeile &amp;quot;Port&amp;quot; in der SSH-Config).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24874</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24874"/>
		<updated>2019-11-14T20:45:20Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Man kann sich mittels SSH von einem beliebigen Rechner auf seinem Informatik-Rechenzentrum-Account einloggen. Das ist nützlich z.B. wenn man vom eigenen Laptop, und nicht von einem Poolrechner aus [[drucken]] möchte. Wie SSH beim iRZ funktioniert, und was man alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
Siehe [[#Infrastruktur_der_Institute_.2F_Fachbereiche|Infrastruktur der Institute / Fachbereiche]]&lt;br /&gt;
&amp;lt;!-- iRZ: rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simples Einloggen ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Da dies etwas nervig ist, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration ====&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 3leet&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
  #LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neben dem einfachen &amp;quot;ssh fbi&amp;quot; hast du nun durch &amp;lt;pre&amp;gt;DynamicForward&amp;lt;/pre&amp;gt; auch einen lokalen SOCKS Proxy zum [[Tunneln]].&lt;br /&gt;
Wenn du mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== zu anderen Hosts ====&lt;br /&gt;
Mit Hilfe einer geeigneten ~/.ssh/config kann man von zu Hause aus sich bequem zu Hosts verbinden, die nicht direkt zugaenglich sind:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 4winter@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public-Key Authentifizierung ===&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Geht auch, und ist dabei trotzdem noch sicher!&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen &lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa): &lt;br /&gt;
Enter passphrase (empty for no passphrase): &lt;br /&gt;
Enter same passphrase again: &lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
=== expect ===&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Wenn einen das nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;10.1.1.10&amp;quot;&lt;br /&gt;
set user &amp;quot;3leet@inf&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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 7373 (-p 7373 bei SSH, -P 7373 bei SCP, oder Zeile &amp;quot;Port&amp;quot; in der SSH-Config).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.&lt;br /&gt;
&lt;br /&gt;
Es gibt wohl auch Compute Nodes, z.B. Hummel.&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24873</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=SSH&amp;diff=24873"/>
		<updated>2019-11-14T20:40:44Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: Technische Infrastruktur der Institute hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Secure SHell =&lt;br /&gt;
Man kann sich mittels SSH von einem beliebigen Rechner auf seinem Informatik-Rechenzentrum-Account einloggen. Das ist nützlich z.B. wenn man vom eigenen Laptop, und nicht von einem Poolrechner aus [[drucken]] möchte. Wie SSH beim iRZ funktioniert, und was man alles tolles machen kann, ist in diesem Artikel beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
iRZ: rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das [[RRZ|Regionale Rechenzentrum (RRZ)]] hat auch zwei SSH-Server (rrzlogin{,2}.rrz.uni-hamburg.de), die sind aber schlecht.&lt;br /&gt;
&lt;br /&gt;
==== Simples Einloggen ====&lt;br /&gt;
Mit folgendem Befehl kann man sich auf seinem iRZ-Account einfach einloggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh &amp;lt;kennung&amp;gt;@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Da dies etwas nervig ist, werden im Weiteren ein paar Tricks erläutert.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration ====&lt;br /&gt;
Die ~/.ssh/config enthaelt die Konfiguration fuer deinen SSH Client. Dort kann man viele tolle Sachen machen, zB muss man nicht immer &amp;lt;code&amp;gt;ssh rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt; machen, sondern bspw. &amp;lt;code&amp;gt;ssh fbi&amp;lt;/code&amp;gt;. Das ist gut.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Text in deiner ~/.ssh/config kannst du das auch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host fbi&lt;br /&gt;
  User 3leet&lt;br /&gt;
  ForwardX11 yes&lt;br /&gt;
  HostName rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
  DynamicForward 7777&lt;br /&gt;
  #LocalForward 6631 linuxprint.informatik.uni-hamburg.de:631&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neben dem einfachen &amp;quot;ssh fbi&amp;quot; hast du nun durch &amp;lt;pre&amp;gt;DynamicForward&amp;lt;/pre&amp;gt; auch einen lokalen SOCKS Proxy zum [[Tunneln]].&lt;br /&gt;
Wenn du mehr tolle Sachen mit deiner SSH-Config-Datei machen willst, schau dir &amp;lt;pre&amp;gt;man ssh_config&amp;lt;/pre&amp;gt; an.&lt;br /&gt;
&lt;br /&gt;
==== zu anderen Hosts ====&lt;br /&gt;
Mit Hilfe einer geeigneten ~/.ssh/config kann man von zu Hause aus sich bequem zu Hosts verbinden, die nicht direkt zugaenglich sind:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host rzdspc*&lt;br /&gt;
  User 4winter&lt;br /&gt;
  ProxyCommand ssh 4winter@rzssh1.informatik.uni-hamburg.de /opt/bin/netcat %h %p 2&amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netcat ist allerdings meistens einfach als &amp;lt;pre&amp;gt;netcat&amp;lt;/pre&amp;gt; oder &amp;lt;pre&amp;gt;nc&amp;lt;/pre&amp;gt; ansprechbar. In Debian ist netcat im Paket &amp;lt;pre&amp;gt;netcat-openbsd&amp;lt;/pre&amp;gt; enthalten.&lt;br /&gt;
&lt;br /&gt;
Und nu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
teythoon@europa$ ssh rzdspc6&lt;br /&gt;
Last login: Sun Oct  7 14:05:16 2007 from rzdspc10.inform&lt;br /&gt;
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005&lt;br /&gt;
&lt;br /&gt;
Willkommen auf der SUNW,Sun-Fire-V445 rzdspc6.informatik.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
Last cluster login: Sun Oct 7 14:03:05 on rzdspc6&lt;br /&gt;
rzdspc6$ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public-Key Authentifizierung ===&lt;br /&gt;
Vom Laptop im Netz des Informatikum anmelden, ohne jedesmal das Passwort eingeben zu müssen?&lt;br /&gt;
Geht auch, und ist dabei trotzdem noch sicher!&lt;br /&gt;
Auf dem eigenen Laptop muss zuerst ein Public/Private-Schlüsselpaar erstellt werden. Das funktioniert durch das Programm &amp;quot;ssh-keygen&amp;quot; und sieht dann etwa so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olli@desktop:~$ ssh-keygen &lt;br /&gt;
Generating public/private rsa key pair.&lt;br /&gt;
Enter file in which to save the key (/home/olli/.ssh/id_rsa): &lt;br /&gt;
Enter passphrase (empty for no passphrase): &lt;br /&gt;
Enter same passphrase again: &lt;br /&gt;
Your identification has been saved in /home/olli/.ssh/id_rsa.&lt;br /&gt;
Your public key has been saved in /home/olli/.ssh/id_rsa.pub.&lt;br /&gt;
The key fingerprint is: bla bla&lt;br /&gt;
olli@desktop:~$&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Man kann alle Abfragen einfach mit Enter bestätigen.&lt;br /&gt;
Nun muss man dem Server, in diesem Fall rzssh1, nur noch eine Kopie des Schlüssels zukommen lassen. Das funktioniert vom Laptop aus über ssh-copy-id:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-copy-id -i ~/.ssh/id_rsa.pub 7bestman@rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Password: *passwort*&lt;br /&gt;
bla bla bla&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
der Parameter -i gibt hierbei den public-Schlüssel an...&lt;br /&gt;
Falls man das Programm ssh-copy-id nicht hat, kann man den Vorgang auch per Hand durchführen. Man kopiert die Datei &amp;quot;~/.ssh/id_rsa.pub&amp;quot; vom Client, also da wo man sie erstellt hat, auf den Zielrechner, loggt sich dann an dem Zielrechner ein und kopiert den Inhalt ans Ende der Datei ~/.ssh/authorized_keys. &amp;quot;cat mein-key.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot; auf dem Server ausgeführt reicht dann.&lt;br /&gt;
&lt;br /&gt;
=== expect ===&lt;br /&gt;
Expect ist ein kleines Programm, was einen Prozess startet und auf Ausgaben dieses Prozess wartet, um dann Eingaben an den Prozess zu senden. Nun kann man expect nutzen um ein einfaches &amp;quot;login&amp;quot;-Script für die UHH-Firewall zu schreiben, da dort Public-Key Authentifizierung nicht möglich ist.&lt;br /&gt;
&lt;br /&gt;
Nachteil ist natürlich, dass das eigene &#039;&#039;&#039;Passwort im Klartext&#039;&#039;&#039; im Script zu finden ist. Wenn einen das nicht stört, dann kann man sich &#039;&#039;expect&#039;&#039; installieren und folgendes in eine Datei schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/expect -f&lt;br /&gt;
&lt;br /&gt;
set host &amp;quot;10.1.1.10&amp;quot;&lt;br /&gt;
set user &amp;quot;3leet@inf&amp;quot;&lt;br /&gt;
set pass &amp;quot;geheimes-pw&amp;quot;&lt;br /&gt;
&lt;br /&gt;
spawn ssh -l &amp;quot;$user&amp;quot; &amp;quot;$host&amp;quot;&lt;br /&gt;
&lt;br /&gt;
expect {&lt;br /&gt;
    &amp;quot;Are you sure you want to continue connecting&amp;quot; {&lt;br /&gt;
        send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
        exp_continue&lt;br /&gt;
    }&lt;br /&gt;
    &amp;quot;password:&amp;quot; {&lt;br /&gt;
        send &amp;quot;$pass\n&amp;quot;&lt;br /&gt;
        interact&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nun einfach ausführbar machen und sich ganz fix ohne Passwortabfrage einloggen&lt;br /&gt;
 chmod +x meine-datei&lt;br /&gt;
 ./meine-datei&lt;br /&gt;
&lt;br /&gt;
=== Dateitransfer ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
Server:sftp://rzssh1.informatik.uni-hamburg.de&lt;br /&gt;
Benutzername: &amp;lt;Informatik-Kennung&amp;gt;&lt;br /&gt;
Passwort: &amp;lt;eigenes Passwort&amp;gt;&lt;br /&gt;
Port: &amp;lt;einfach freilassen&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche &amp;quot;Tricks&amp;quot; ===&lt;br /&gt;
Mit Hilfe des Port Forwadings kann man auch von Zuhause aus zb das [http://www.oclc.org/ Online Computer Library Center] oder die [http://portal.acm.org/dl.cfm ACM Digital Library] durchstöbern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ssh -L 2222:proxyuhh.uni-hamburg.de:3128 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de -N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und dann im Browser als Proxy &amp;quot;localhost&amp;quot; mit Port 2222 eintragen. Nachdem man die Verbindung wieder getrennt hat natürlich nicht vergessen, die Proxyeinstellungen im Browser wieder zurückzusetzen.&lt;br /&gt;
&lt;br /&gt;
[https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/ Dieses Plugin] macht es dem Firefox-User leichter, zwischen Proxies umzuschalten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Linux kann man auch so Verbindungen umleiten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;# iptables -t nat -I OUTPUT -d 134.100.9.77 -p tcp --dport 80 -j DNAT --to 127.0.0.1:1234&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ssh -L1234:134.100.9.77:80 &amp;lt;username&amp;gt;@rzssh1.informatik.uni-hamburg.de&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ist zwar nicht sehr komfortabel, aber es funktioniert quasi immer; z. B. wenn man kein Proxy einstellen kann und Programme wie tsocks nicht funktionieren sollten.&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
* scp will nicht weil Leerzeichem im Pfad/ im Dateinamen sind:&lt;br /&gt;
den Pfad in Hochkomma &amp;lt;code&amp;gt;&#039;&amp;lt;/code&amp;gt; setzen oder vor die Leerzeichen ein Backslash&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Zwei äquivaltente Beispiele:&#039;&#039;&#039;&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp ~/Pfad/z\ u\ r/Datei/Filename\ mit\ Leerzeichen 4user@rzssh1:~/Zielpfad\ mit\ Leerzei\ chen/fuer/die/Datei/. &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Beispiel#$ &amp;lt;code&amp;gt;scp &#039;~/Pfad/z u r/Datei/Filename mit Leerzeichen&#039; 4user@rzssh1:&#039;~/Zielpfad mit Leerzei chen/fuer/die/Datei/.&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* das Kopieren vieler kleiner Dateien dauert ziemlich lange?&lt;br /&gt;
On-the-fly archivieren und entpacken hilft:&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &#039;tar -c /mein/ordner/mit/kleinen/dateien | gzip&#039; | gzip -d | tar -xv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Schalter -z Spart man sich die beiden gzip Kommandos.&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh &amp;lt;mein-host&amp;gt; &amp;quot;tar -cz /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xzv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausserdem kann man bei tar noch das Zielverzeichnis angeben und eventuell eine schnellere Verschlüsselung für ssh benutzen. Bei langsamen Rechnern und hoher Bandbreite macht es Sinn, auf die Kompression zu verzichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh -c blowfish &amp;lt;mein-host&amp;gt; &amp;quot;tar -c /mein/ordner/mit/kleinen/dateien&amp;quot; | tar -xv -C /hier/hin/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Infrastruktur der Institute / Fachbereiche ==&lt;br /&gt;
&lt;br /&gt;
=== Informatikum / iRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Informatikum gibt es die Knoten rzssh{1,2}.informatik.uni-hamburg.de, auf die man sich mit seiner Informatik-Kennung anmelden kann.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== DKRZ ===&lt;br /&gt;
&lt;br /&gt;
Am Deutschen Klimarechenzentrum gibt es den Login-Cluster cluster.wr.informatik.uni-hamburg.de, auf die man sich mit der Kennung anmelden kann, die man in seinem ersten Modul in der Arbeitsgruppe Wissenschaftliches Rechnen erhält, welche Cluster-Zugang erfordert.&lt;br /&gt;
&lt;br /&gt;
Der Login-Cluster sollte nicht für rechenaufwändige Jobs / Benchmarks genutzt werden, dafür gibt es die Compute Nodes abu{1..5}, amd{2..4}, magny1, nehalem5, und west{1..10} mit jeweils unterschiedlicher Ausstattung. Bevor man sich allerdings auf einen Node einloggen kann, muss man ihn sich erst mit dem Batch-Queuing-System SLURM allozieren. Das geht für einen beliebigen Knoten der Partition &amp;quot;west&amp;quot; z.B. so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west&lt;br /&gt;
salloc: Granted job allocation 26477&lt;br /&gt;
$ squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             26477      west     bash felgenha  R       0:03      1 west2&lt;br /&gt;
$ ssh west2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oder wenn man z.B. explizit west7 haben möchte:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ salloc -p west -w west7&lt;br /&gt;
salloc: Granted job allocation 26479&lt;br /&gt;
$ ssh west7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ZBH ===&lt;br /&gt;
&lt;br /&gt;
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 7373 (-p 7373 bei SSH, -P 7373 bei SCP, oder Zeile &amp;quot;Port&amp;quot; in der SSH-Config).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== RRZ ===&lt;br /&gt;
&lt;br /&gt;
TODO...&lt;br /&gt;
&lt;br /&gt;
Ich habe mal etwas von Hummel gehört...&lt;br /&gt;
&lt;br /&gt;
=== Physik / Physnet ===&lt;br /&gt;
&lt;br /&gt;
In der Physik gibt es die Login-Nodes login{1..4}.physnet.uni-hamburg.de&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dba]]&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24696</id>
		<title>OERB Tutoren 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24696"/>
		<updated>2019-10-07T08:58:55Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier tragen sich die Leute an, die 2019 bei der OERB mitwirken wollen. Bei jedem Slot muss mindestens ein*e Tutor*in stehen. Bei drei Gruppen in einem Slot sind Doppeltutor*innen obligatorisch, sonst &amp;quot;nur&amp;quot; gern gesehen.&lt;br /&gt;
&lt;br /&gt;
Die IAS-OERB (Di 17:30-19:30) wird in Englisch gehalten, es sollten sich also nur Tutor*innen mit entsprechenden Sprachkenntnissen eintragen.&lt;br /&gt;
&lt;br /&gt;
=== Tutor*innen ===&lt;br /&gt;
* NN 14niemand&lt;br /&gt;
* Tom 17bloecke&lt;br /&gt;
* Jonas 15hagge&lt;br /&gt;
* Pascal 15wichman&lt;br /&gt;
* Jim 12martens&lt;br /&gt;
* Karim 16merkl&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
* Julian 12tobergt&lt;br /&gt;
* Julian 13deinert&lt;br /&gt;
* Katja 15hoffman&lt;br /&gt;
* Niklas 17fock&lt;br /&gt;
* Sebastian 18schneid&lt;br /&gt;
* Julius 18bittner&lt;br /&gt;
* [Hier könnte dein Name stehen!]&lt;br /&gt;
&lt;br /&gt;
=== Stundenplan ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Uhrzeit&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Freitag 1&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Montag&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Dienstag&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Donnerstag&lt;br /&gt;
|-&lt;br /&gt;
| Raum&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-118/119&lt;br /&gt;
|-&lt;br /&gt;
| 09:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;9&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| 09:30 &lt;br /&gt;
|-&lt;br /&gt;
| 10:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 9/10 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 11 -&lt;br /&gt;
18bittner&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 25 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 26 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 1/2 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 3 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 4 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 24 -&lt;br /&gt;
12hofmann&lt;br /&gt;
|-&lt;br /&gt;
| 10:30&lt;br /&gt;
|-&lt;br /&gt;
| 11:00&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 30/31 (IAS)&amp;lt;ref name=&amp;quot;ias&amp;quot;&amp;gt;Wird auf englisch gehalten! Die Einheit am Donnerstag ist optional und benötigt keine OERB-Tutor*innen [?] &amp;lt;/ref&amp;gt;  -&lt;br /&gt;
(optional)&lt;br /&gt;
|-&lt;br /&gt;
| 11:30&lt;br /&gt;
|-&lt;br /&gt;
| 12:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 28/29 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 21 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 22 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 23 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 14/27 -&lt;br /&gt;
12martens&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 12 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 13 -&lt;br /&gt;
14felgenh, 12hofmann&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;15&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 12:30&lt;br /&gt;
|-&lt;br /&gt;
| 13:00&lt;br /&gt;
|-&lt;br /&gt;
| 13:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 32 (LA) -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
|-&lt;br /&gt;
| 14:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 16/17 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 18 -&lt;br /&gt;
17boecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 19 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 20 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 5/6 -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 7 -&lt;br /&gt;
12tobergt&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 8 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 15 -&lt;br /&gt;
13deinert&lt;br /&gt;
|-&lt;br /&gt;
| 14:30&lt;br /&gt;
|-&lt;br /&gt;
| 15:00&lt;br /&gt;
|-&lt;br /&gt;
| 15:30&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;8&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:30&lt;br /&gt;
|-&lt;br /&gt;
| 17:00&lt;br /&gt;
|-&lt;br /&gt;
| 17:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 30/31 (IAS) &amp;lt;ref name=&amp;quot;ias&amp;quot; /&amp;gt; -&lt;br /&gt;
12tobergt&lt;br /&gt;
|-&lt;br /&gt;
| 18:00&lt;br /&gt;
|-&lt;br /&gt;
| 18:30&lt;br /&gt;
|-&lt;br /&gt;
| 19:00&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24695</id>
		<title>OERB Tutoren 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24695"/>
		<updated>2019-10-07T08:58:26Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier tragen sich die Leute an, die 2019 bei der OERB mitwirken wollen. Bei jedem Slot muss mindestens ein*e Tutor*in stehen. Bei drei Gruppen in einem Slot sind Doppeltutor*innen obligatorisch, sonst &amp;quot;nur&amp;quot; gern gesehen.&lt;br /&gt;
&lt;br /&gt;
Die IAS-OERB (Di 17:30-19:30) wird in Englisch gehalten, es sollten sich also nur Tutor*innen mit entsprechenden Sprachkenntnissen eintragen.&lt;br /&gt;
&lt;br /&gt;
=== Tutor*innen ===&lt;br /&gt;
* NN 14niemand&lt;br /&gt;
* Tom 17bloecke&lt;br /&gt;
* Jonas 15hagge&lt;br /&gt;
* Pascal 15wichman&lt;br /&gt;
* Jim 12martens&lt;br /&gt;
* Karim 16merkl&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
* Julian 12tobergt&lt;br /&gt;
* Julian 13deinert&lt;br /&gt;
* Katja 15hoffman&lt;br /&gt;
* Niklas 17fock&lt;br /&gt;
* Sebastian 18schneid&lt;br /&gt;
* Julius 18bittner&lt;br /&gt;
* [Hier könnte dein Name stehen!]&lt;br /&gt;
&lt;br /&gt;
=== Stundenplan ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Uhrzeit&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Freitag 1&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Montag&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Dienstag&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Donnerstag&lt;br /&gt;
|-&lt;br /&gt;
| Raum&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-118/119&lt;br /&gt;
|-&lt;br /&gt;
| 09:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;9&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| 09:30 &lt;br /&gt;
|-&lt;br /&gt;
| 10:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 9/10 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 11 -&lt;br /&gt;
18bittner&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 25 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 26 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 1/2 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 3 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 4 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 24 -&lt;br /&gt;
12hofmann&lt;br /&gt;
|-&lt;br /&gt;
| 10:30&lt;br /&gt;
|-&lt;br /&gt;
| 11:00&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 30/31 (IAS)&amp;lt;ref name=&amp;quot;ias&amp;quot;&amp;gt;Wird auf englisch gehalten! Die Einheit am Donnerstag ist optional und benötigt keine OERB-Tutor*innen [?] &amp;lt;/ref&amp;gt;  -&lt;br /&gt;
(optional)&lt;br /&gt;
|-&lt;br /&gt;
| 11:30&lt;br /&gt;
|-&lt;br /&gt;
| 12:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 28/29 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 21 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 22 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 23 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 14/27 -&lt;br /&gt;
12martens&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 12 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 13 -&lt;br /&gt;
NN&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;15&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 12:30&lt;br /&gt;
|-&lt;br /&gt;
| 13:00&lt;br /&gt;
|-&lt;br /&gt;
| 13:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 32 (LA) -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
|-&lt;br /&gt;
| 14:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 16/17 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 18 -&lt;br /&gt;
17boecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 19 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 20 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 5/6 -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 7 -&lt;br /&gt;
12tobergt&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 8 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 15 -&lt;br /&gt;
13deinert&lt;br /&gt;
|-&lt;br /&gt;
| 14:30&lt;br /&gt;
|-&lt;br /&gt;
| 15:00&lt;br /&gt;
|-&lt;br /&gt;
| 15:30&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;8&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:30&lt;br /&gt;
|-&lt;br /&gt;
| 17:00&lt;br /&gt;
|-&lt;br /&gt;
| 17:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 30/31 (IAS) &amp;lt;ref name=&amp;quot;ias&amp;quot; /&amp;gt; -&lt;br /&gt;
12tobergt&lt;br /&gt;
|-&lt;br /&gt;
| 18:00&lt;br /&gt;
|-&lt;br /&gt;
| 18:30&lt;br /&gt;
|-&lt;br /&gt;
| 19:00&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24689</id>
		<title>OERB Tutoren 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24689"/>
		<updated>2019-10-07T07:12:46Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier tragen sich die Leute an, die 2019 bei der OERB mitwirken wollen. Bei jedem Slot muss mindestens ein*e Tutor*in stehen. Bei drei Gruppen in einem Slot sind Doppeltutor*innen obligatorisch, sonst &amp;quot;nur&amp;quot; gern gesehen.&lt;br /&gt;
&lt;br /&gt;
Die IAS-OERB (Di 17:30-19:30) wird in Englisch gehalten, es sollten sich also nur Tutor*innen mit entsprechenden Sprachkenntnissen eintragen.&lt;br /&gt;
&lt;br /&gt;
=== Tutor*innen ===&lt;br /&gt;
* NN 14niemand&lt;br /&gt;
* Tom 17bloecke&lt;br /&gt;
* Jonas 15hagge&lt;br /&gt;
* Pascal 15wichman&lt;br /&gt;
* Jim 12martens&lt;br /&gt;
* Karim 16merkl&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
* Julian 12tobergt&lt;br /&gt;
* Julian 13deinert&lt;br /&gt;
* Katja 15hoffman&lt;br /&gt;
* Niklas 17fock&lt;br /&gt;
* Sebastian 18schneid&lt;br /&gt;
* Julius 18bittner&lt;br /&gt;
* [Hier könnte dein Name stehen!]&lt;br /&gt;
&lt;br /&gt;
=== Stundenplan ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Uhrzeit&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Freitag 1&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Montag&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Dienstag&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Donnerstag&lt;br /&gt;
|-&lt;br /&gt;
| Raum&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-118/119&lt;br /&gt;
|-&lt;br /&gt;
| 09:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;9&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| 09:30 &lt;br /&gt;
|-&lt;br /&gt;
| 10:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 9/10 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 11 -&lt;br /&gt;
18bittner&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 25 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 26 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 1/2 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 3 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 4 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 24 -&lt;br /&gt;
12hofmann&lt;br /&gt;
|-&lt;br /&gt;
| 10:30&lt;br /&gt;
|-&lt;br /&gt;
| 11:00&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 30/31 (IAS)&amp;lt;ref name=&amp;quot;ias&amp;quot;&amp;gt;Wird auf englisch gehalten! Die Einheit am Donnerstag ist optional und benötigt keine OERB-Tutor*innen [?] &amp;lt;/ref&amp;gt;  -&lt;br /&gt;
(optional)&lt;br /&gt;
|-&lt;br /&gt;
| 11:30&lt;br /&gt;
|-&lt;br /&gt;
| 12:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 28/29 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 21 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 22 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 23 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 14/27 -&lt;br /&gt;
12martens&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 12 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 13 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;15&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 12:30&lt;br /&gt;
|-&lt;br /&gt;
| 13:00&lt;br /&gt;
|-&lt;br /&gt;
| 13:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 32 (LA) -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
|-&lt;br /&gt;
| 14:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 16/17 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 18 -&lt;br /&gt;
17boecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 19 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 20 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 5/6 -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 7 -&lt;br /&gt;
12tobergt&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 8 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 15 -&lt;br /&gt;
13deinert&lt;br /&gt;
|-&lt;br /&gt;
| 14:30&lt;br /&gt;
|-&lt;br /&gt;
| 15:00&lt;br /&gt;
|-&lt;br /&gt;
| 15:30&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;8&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:30&lt;br /&gt;
|-&lt;br /&gt;
| 17:00&lt;br /&gt;
|-&lt;br /&gt;
| 17:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 30/31 (IAS) &amp;lt;ref name=&amp;quot;ias&amp;quot; /&amp;gt; -&lt;br /&gt;
12tobergt&lt;br /&gt;
|-&lt;br /&gt;
| 18:00&lt;br /&gt;
|-&lt;br /&gt;
| 18:30&lt;br /&gt;
|-&lt;br /&gt;
| 19:00&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24670</id>
		<title>OERB Tutoren 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24670"/>
		<updated>2019-10-04T13:45:15Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier tragen sich die Leute an, die 2019 bei der OERB mitwirken wollen. Bei jedem Slot muss mindestens ein*e Tutor*in stehen. Bei drei Gruppen in einem Slot sind Doppeltutor*innen obligatorisch, sonst &amp;quot;nur&amp;quot; gern gesehen.&lt;br /&gt;
&lt;br /&gt;
Die IAS-OERB (Di 17:30-19:30) wird in Englisch gehalten, es sollten sich also nur Tutor*innen mit entsprechenden Sprachkenntnissen eintragen.&lt;br /&gt;
&lt;br /&gt;
=== Tutor*innen ===&lt;br /&gt;
* NN 14niemand&lt;br /&gt;
* Tom 17bloecke&lt;br /&gt;
* Jonas 15hagge&lt;br /&gt;
* Pascal 15wichman&lt;br /&gt;
* Jim 12martens&lt;br /&gt;
* Karim 16merkl&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
* Julian 12tobergt&lt;br /&gt;
* Julian 13deinert&lt;br /&gt;
* Katja 15hoffman&lt;br /&gt;
* Niklas 17fock&lt;br /&gt;
* Sebastian 18schneid&lt;br /&gt;
* Julius 18bittner&lt;br /&gt;
* [Hier könnte dein Name stehen!]&lt;br /&gt;
&lt;br /&gt;
=== Stundenplan ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Uhrzeit&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Freitag 1&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Montag&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Dienstag&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Donnerstag&lt;br /&gt;
|-&lt;br /&gt;
| Raum&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-118/119&lt;br /&gt;
|-&lt;br /&gt;
| 09:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;9&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| 09:30 &lt;br /&gt;
|-&lt;br /&gt;
| 10:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 9/10 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 11 -&lt;br /&gt;
18bittner&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 25 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 26 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 1/2 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 3 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 4 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 24 -&lt;br /&gt;
12hofmann&lt;br /&gt;
|-&lt;br /&gt;
| 10:30&lt;br /&gt;
|-&lt;br /&gt;
| 11:00&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 30/31 (IAS)&amp;lt;ref name=&amp;quot;ias&amp;quot;&amp;gt;Wird auf englisch gehalten! Die Einheit am Donnerstag ist optional und benötigt keine OERB-Tutor*innen [?] &amp;lt;/ref&amp;gt;  -&lt;br /&gt;
(optional)&lt;br /&gt;
|-&lt;br /&gt;
| 11:30&lt;br /&gt;
|-&lt;br /&gt;
| 12:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 28/29 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 21 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 22 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 23 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 14/27 -&lt;br /&gt;
12martens&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 12 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 13 -&lt;br /&gt;
NN&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;15&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 12:30&lt;br /&gt;
|-&lt;br /&gt;
| 13:00&lt;br /&gt;
|-&lt;br /&gt;
| 13:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 32 (LA) -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
|-&lt;br /&gt;
| 14:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 16/17 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 18 -&lt;br /&gt;
17boecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 19 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 20 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 5/6 -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 7 -&lt;br /&gt;
12tobergt&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 8 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 15 -&lt;br /&gt;
13deinert&lt;br /&gt;
|-&lt;br /&gt;
| 14:30&lt;br /&gt;
|-&lt;br /&gt;
| 15:00&lt;br /&gt;
|-&lt;br /&gt;
| 15:30&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;8&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:30&lt;br /&gt;
|-&lt;br /&gt;
| 17:00&lt;br /&gt;
|-&lt;br /&gt;
| 17:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 30/31 (IAS) &amp;lt;ref name=&amp;quot;ias&amp;quot; /&amp;gt; -&lt;br /&gt;
12tobergt&lt;br /&gt;
|-&lt;br /&gt;
| 18:00&lt;br /&gt;
|-&lt;br /&gt;
| 18:30&lt;br /&gt;
|-&lt;br /&gt;
| 19:00&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=KBS-WiSe1920-OE-Lightning-Talks&amp;diff=24650</id>
		<title>KBS-WiSe1920-OE-Lightning-Talks</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=KBS-WiSe1920-OE-Lightning-Talks&amp;diff=24650"/>
		<updated>2019-09-30T12:32:57Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:KunterBuntesSeminar-WS19/Terminseiten-Header|0|08. Oktober|raum=D-125|zeit=&#039;&#039;&#039;17:15&#039;&#039;&#039; bis &#039;&#039;&#039;19:00&#039;&#039;&#039; Uhr}}&lt;br /&gt;
&lt;br /&gt;
==Abstract==&lt;br /&gt;
Lightning Talks in der OE-Woche und alle so &amp;quot;Yeah&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Viele Vortragende - Viele Themen&lt;br /&gt;
Vortragende schicken bitte rechtzeitig ihre Folien an die Moderatoren (1 Tag vor den Talks)&lt;br /&gt;
&lt;br /&gt;
Many Speakers - Many Topics&lt;br /&gt;
Speakers please send your slides to the moderators in time (1 Day before the Talks)&lt;br /&gt;
&lt;br /&gt;
Moderator: N.N.&lt;br /&gt;
&lt;br /&gt;
==Talks==&lt;br /&gt;
* SlotBeispiel: 0bock - Thema&lt;br /&gt;
* Slot0: N.N. - Was ist das KBS?&lt;br /&gt;
* Slot1: N.N. - HI-Forum&lt;br /&gt;
* Slot2: 11hamann - Ikum History&lt;br /&gt;
* Slot3: 15bollweg - neuronale Netze - Wie lehren wir den Computer lernen?&lt;br /&gt;
* Slot4: 15guelden - How to Science&lt;br /&gt;
* Slot5: 12hofmann - tba&lt;br /&gt;
* Slot6: 12hofmann - tba (cont&#039;d)&lt;br /&gt;
* Slot7: 12martens - Grafiken aus PDFs extrahieren&lt;br /&gt;
* Slot8: 11hamann - 88 Stunden Shanghai &lt;br /&gt;
* Slot9: &lt;br /&gt;
* Slot10: &lt;br /&gt;
* Slot11:&lt;br /&gt;
* Slot12:&lt;br /&gt;
* Slot13: 12martens - Passwörter sicher speichern&lt;br /&gt;
* Slot14: 15see - Langeweile in der Vorlesung 2&lt;br /&gt;
* Slot15: 15see - Langeweile in der Vorlesung 2&lt;br /&gt;
* Slot16: 11hamann - Ikum Future&lt;br /&gt;
* Slot17:&lt;br /&gt;
&lt;br /&gt;
==Vortragende==&lt;br /&gt;
Viele&lt;br /&gt;
&lt;br /&gt;
==Folien==&lt;br /&gt;
Folien (falls vorhanden) sowie etwaige weitere Anmerkungen an 3schmidt@inf... schicken&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24637</id>
		<title>OERB Tutoren 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=OERB_Tutoren_2019&amp;diff=24637"/>
		<updated>2019-09-26T15:58:38Z</updated>

		<summary type="html">&lt;p&gt;4felgenh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier tragen sich die Leute an, die 2019 bei der OERB mitwirken wollen. Bei jedem Slot muss mindestens ein*e Tutor*in stehen. Bei drei Gruppen in einem Slot sind Doppeltutor*innen obligatorisch, sonst &amp;quot;nur&amp;quot; gern gesehen.&lt;br /&gt;
&lt;br /&gt;
Die IAS-OERB (Di 17:30-19:30) wird in Englisch gehalten, es sollten sich also nur Tutor*innen mit entsprechenden Sprachkenntnissen eintragen.&lt;br /&gt;
&lt;br /&gt;
=== Tutor*innen ===&lt;br /&gt;
* NN 14niemand&lt;br /&gt;
* Tom 17bloecke&lt;br /&gt;
* Jonas 15hagge&lt;br /&gt;
* Pascal 15wichman&lt;br /&gt;
* Jim 12martens&lt;br /&gt;
* Karim 16merkl&lt;br /&gt;
* Ruben 14felgenh&lt;br /&gt;
* Julian 12tobergt&lt;br /&gt;
* Julian 13deinert&lt;br /&gt;
* Katja 15hoffman&lt;br /&gt;
* Niklas 17fock&lt;br /&gt;
* Sebastian 18schneid&lt;br /&gt;
* [Hier könnte dein Name stehen!]&lt;br /&gt;
&lt;br /&gt;
=== Stundenplan ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Uhrzeit&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Freitag 1&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Montag&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Dienstag&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;text-align: center; font-weight: bold;&amp;quot; | Donnerstag&lt;br /&gt;
|-&lt;br /&gt;
| Raum&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-016/017&lt;br /&gt;
| D-118/119&lt;br /&gt;
| D-018&lt;br /&gt;
| D-114&lt;br /&gt;
| D-118/119&lt;br /&gt;
|-&lt;br /&gt;
| 09:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;9&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| 09:30 &lt;br /&gt;
|-&lt;br /&gt;
| 10:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 9/10 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 11 -&lt;br /&gt;
NN&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 25 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 26 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 1/2 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 3 -&lt;br /&gt;
14felgenh&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 4 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 24 -&lt;br /&gt;
12hofmann&lt;br /&gt;
|-&lt;br /&gt;
| 10:30&lt;br /&gt;
|-&lt;br /&gt;
| 11:00&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 30/31 (IAS)&amp;lt;ref name=&amp;quot;ias&amp;quot;&amp;gt;Wird auf englisch gehalten! Die Einheit am Donnerstag ist optional und benötigt keine OERB-Tutor*innen [?] &amp;lt;/ref&amp;gt;  -&lt;br /&gt;
(optional)&lt;br /&gt;
|-&lt;br /&gt;
| 11:30&lt;br /&gt;
|-&lt;br /&gt;
| 12:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 28/29 -&lt;br /&gt;
NN&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 21 -&lt;br /&gt;
17bloecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 22 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 23 -&lt;br /&gt;
13deinert&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 14/27 -&lt;br /&gt;
12martens&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 12 -&lt;br /&gt;
17fock, 18schneid&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 13 -&lt;br /&gt;
NN&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;15&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 12:30&lt;br /&gt;
|-&lt;br /&gt;
| 13:00&lt;br /&gt;
|-&lt;br /&gt;
| 13:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 32 (LA) -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
|-&lt;br /&gt;
| 14:00&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 16/17 -&lt;br /&gt;
12martens&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 18 -&lt;br /&gt;
17boecke&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 19 -&lt;br /&gt;
15hoffman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 20 -&lt;br /&gt;
16merkl&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 5/6 -&lt;br /&gt;
15hagge, 15wichman&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 7 -&lt;br /&gt;
12tobergt&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 8 -&lt;br /&gt;
NN&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 15 -&lt;br /&gt;
13deinert&lt;br /&gt;
|-&lt;br /&gt;
| 14:30&lt;br /&gt;
|-&lt;br /&gt;
| 15:00&lt;br /&gt;
|-&lt;br /&gt;
| 15:30&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;8&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:00&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background-color: DarkGray;&amp;quot; rowspan=&amp;quot;7&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| 16:30&lt;br /&gt;
|-&lt;br /&gt;
| 17:00&lt;br /&gt;
|-&lt;br /&gt;
| 17:30&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 30/31 (IAS) &amp;lt;ref name=&amp;quot;ias&amp;quot; /&amp;gt; -&lt;br /&gt;
12tobergt&lt;br /&gt;
|-&lt;br /&gt;
| 18:00&lt;br /&gt;
|-&lt;br /&gt;
| 18:30&lt;br /&gt;
|-&lt;br /&gt;
| 19:00&lt;br /&gt;
|-&lt;/div&gt;</summary>
		<author><name>4felgenh</name></author>
	</entry>
</feed>