SSH mit Windows

PSI-Mitarbeiter mit einem Account können das System standardmässig nutzen. Nicht-PSI-Mitarbeiter müssen über ihre verantwortliche Kontaktperson einen Account für externe Benutzer beantragen.

Das System steht ausschliesslich als Tunneling-/Proxy-System zur Verfügung. Dies bedeutet, dass nach dem erfolgreichen Login in das System KEINE aktive, nutzbare Shell zur Verfügung steht, die für eine weitere Verbindung ins PSI Lan genutzt werden kann.

Zu Beginn der Nutzung muss eine "Setup-Verbindung" zu hopx.psi.ch aufgebaut werden. Diese Verbindung richtet auf hopx.psi.ch den Zugang für den Benutzer ein. Sie muss interaktiv sein und offen gehalten werden. Ohne diese "Setup-Verbindung" sind keinerlei Verbindungen über hopx.psi.ch ins PSI-Lan möglich!

  • Pro Benutzer ist nur eine aktive "Setup-Verbindung" zu hopx.psi.ch möglich. (weitere Infos dazu sind unten zu finden)
  • die "Setup-Verbindung" kann mit einer oder mehreren Port-Weiterleitungen kombiniert werden (siehe unten)
  • SSH-Clients (Putty, OpenSSH etc.) können so konfiguriert werden, dass SSH-Verbindungen ins PSI-Lan über die "Setup-Verbindung" erfolgen. (Stichwort: SSH-Multiplexing, ProxyJump, Connection Sharing)

Hinweis zu OpenSSH: 

Das Kommando

ssh -J <user>@hopx.psi.ch <user>@beispiel-ssh-srv.psi.ch

funktioniert ohne vorherige "Setup-Verbindung" nicht, auch wenn das für gewöhnlich mit OpenSSH möglich ist!!!

Die nachfolgende Abbildung zeigt die Ausgabe nach dem erfolgreichen Login. 

Die Ausgabe nach dem Login enthält die folgenden wichtigen Informationen: 

  1. Die IP-Adresse des Clients mit der die Verbindung zu hopx.psi.ch aufgebaut wurde. 
  2. Der Benutzername, mit der die Verbindung aufgebaut wurde. 
  3. Die NAT-IP-Adresse, mit der die vom Benutzer durch hopx.psi.ch aufgebauten Verbindungen zu Systemen innerhalb des PSI-Netzwerkes erscheinen. 
  4. Das Datum und die Uhrzeit wann die Verbindung zu hopx.psi.ch gestartet wurde
  5. Das Datum und die Uhrzeit bis wann die Verbindung zu hopx.psi.ch maximal bestehen bleiben kann. Zu dieser Uhrzeit (nach Ablauf der maximalen Sessiondauer von 12h) wird die Verbindung zu hopx.psi.ch automatisch getrennt. Alle durch hopx.psi.ch aufgebauten Verbindungen ins PSI-Netzwerk werden ebenfalls unterbrochen. 

Die Verbindung zu hopx.psi.ch  kann  mit "ctrl-c".   beendet werden. Es stehen keine weiteren Kommandos zur Verfügung!

********* Achtung ****************

Wird die "Setup-Verbindung" zu hopx.psi.ch beendet, während die Verbindung(en) zu einem internen System noch aktiv/offen sind,  dann werden diese ebenfalls beendet!!!

***********************************

 

 

Verhalten beim Aufbau von mehr als einer "Setup-Verbindung"

Erfolgt der Aufbau einer zweiten "Setup-Verbindung" zu hopx.psi.ch unter der Verwendung des gleichen Benutzernamens und der gleichen Source-IP-Adresse, dann wird diese Verbindung nach der erfolgreichen Authentisierung mit dem Hinweis auf die bereits bestehende Verbindung getrennt. 

Erfolgt der Aufbau einer zweiten "Setup-Verbindung" zu hopx.psi.ch unter der Verwendung des gleichen Benutzernamens aber einer anderen Source-IP-Adresse als bei der bereits bestehenden Verbindung, dann wird der Benutzer nach der erfolgreichen Authentisierung vor die Wahl gestellt. Er kann die zweite Verbindung tatsächlich aufbauen, dann wird jedoch die erste Verbindung und alle dazugehörigen getunnelten Verbindungen ins PSI-Netzwerk getrennt. Oder er kann die zweite Verbindung beenden und mit der ersten weiterarbeiten. Die Antwort auf die Frage ist mit 'Y' , 'y' , 'N' oder 'n' zu beantworten. 

Maximale Sessiondauer von 12 Stunden

Die Dauer des aktiven Zugangs ("Setup-Verbindung") zu hopx.psi.ch und allen dazugehörigen Verbindungen ins PSI-Lan wird analog zum VPN-Zugang auf maximal 12 Stunden beschränkt. Bis wann die Verbindung maximal bestehen bleiben kann, wird nach der erfolgreichen Authentisierung angezeigt (siehe oben). Im gleichen Fenster erfolgt fünf Minuten bevor die Verbindung getrennt wird ein Hinweis auf die bevorstehende Beendigung der Verbindung.

********* Achtung ****************

Wird die "Setup-Verbindung" zu hopx.psi.ch beendet, während die Verbindung(en) zu einem internen System noch aktiv/offen sind,  dann werden diese ebenfalls beendet!!!

**********************************

Hinweis zu den möglichen Tunnel-Verbindungen

Bitte beachten Sie, dass nicht allen Benutzern des Systems die gleichen Möglichkeiten zur Verfügung stehen. Anhand der Art des Benutzeraccounts sind unterschiedliche Verbindungen über das System möglich. 


PSI-Mitarbeiter
PSI-Mitarbeiter können über hopx.psi.ch die folgenden TCP-Verbindung ins PSI LAN tunneln:

TCP Port Nummerwird genutzt von
22SSH
80/443HTTP(S)
445Windows File Server (z. B. fs00, fs01 or fs02)
>1023bspw. für RDP, VNC etc.

Externe Benutzer
Externe Benutzer können über hopx.psi.ch die folgenden TCP-Verbindung ins PSI LAN tunneln:

  • SSH-Verbindungen zu den Clustern Merlin, RA, Login, MEG etc.
  • SSH-Verbindungen zu den Experiment-Sprungsystemen etc. 

Diese SSH-Verbindungen sind nur möglich, wenn Sie über die entsprechenden Zugriffsrechte verfügen. Falls Sie über diese nicht verfügen, wenden Sie sich bitte an Ihre verantwortliche PSI-Kontaktperson. 

Falls Sie weitere Verbindungsmöglichkeiten benötigen, müssen diese von Ihrer PSI-Kontaktperson für Sie beantragt werden. 

Die bisher allgemein gültigen Zugriffsmöglichkeiten für externe Benutzer wie:

TCP Port Nummerwird genutzt von
22SSH
3389RDP
5900VNC

werden in den kommenden Wochen nach und nach deaktiviert. 

 

Hinweis zur Verwendung von VS Code

Das Remote SSH Plugin von VS Code versucht durch die Standardeinstellungen mehrfach eine unterbrochene SSH-Verbindung wieder aufzubauen. War ein Benutzer mit mehreren Systemen von remote via SSH verbunden und die Verbindungen wurden unterbrochen, dann versucht VS Code  jede Verbindung automatisch wieder herzustellen. Dieses Verhalten kann auf hopx.psi.ch zu vielen fehlgeschlagenen Loginversuchen und im Extremfall zu einer automatisierten Blockade des Benutzeraccounts oder der Client-IP-Adresse führen.  

Um dies zu verhindern muss man die Anzahl der automatisieren Verbindungsversuche im VS Code deutlich reduzieren.

Hierfür muss “Max Reconnection Attempts” auf 0 gesetzt werden:

SSH, RDP etc. zu internen Systemen mit Hilfe von Port-Weiterleitung

Empfohlen für User, die schnell eine RDP oder SSH Verbindung zu einem System im PSI-Lan aufbauen möchten. 

Anwendungsfall:

  • Weiterleitung von einem oder mehreren Ports über hopx.psi.ch zu einem internen System für die Nutzung von RDP, SSH etc.

Vorteil:

  • schneller Zugriff auf ein internes System möglich, da Einrichten von Putty Connection Sharing (siehe unten) nicht notwendig
  • nur eine Verbindung (Setup-Verbindung, siehe Grundlagen oben) mit gleichzeitigem Portforwarding zu hopx.psi.ch notwendig
  • keine Putty Version >= 0.78 auf dem Clientsystem notwendig

Nachteil:

  • besteht bereits eine Verbindung zu hopx.psi.ch und man möchte einen weiteren lokalen Port weiterleiten, muss die Verbindung zu hopx.psi.ch erst beendet und erneut aufgebaut werden.

Für die Konfiguration wird wie folgt vorgegangen. 

Putty starten und in der linken Spalte "Category" den oberen Eintrag "Session" anwählen, rechts im Feld "Host Name (or IP adress)

<user>@hopx.psi.ch

eintragen (<user> bitte mit dem tatsächlichen Benutzernamen ersetzen)

Im Feld "Saved Session" ein Name für dieses Profil eintragen. In dem Fall "hopx.psi.ch" (noch nicht auf "Save" klicken)

Anschliessend wird in der linken Spalte "Connection -> SSH -> Tunnels" angewählt. Dann trägt man in das Feld "Source port" z. B. den lokalen Port "8389" ein und in das Feld "Destination" den Zielserver und den entprechenden Port "winterm4.psi.ch:3389". Der Typ wird auf "Local" gesetzt und anschliessend auf "Add" geklickt. Durch dieses Setting werden RDP-Verbindungen auf den lokalen Port 8389 zu winterm4.psi.ch Port 3389 geleitet.

Nach der vollständigen Tunnel Konfiguration sieht das dann wie folgt aus. 

Dann springt man zurück zu "Session" und speichert die Einstellungen mit einem Klick auf "Save" ab. 

Zur Nutzung der zuvor erstellten Konfiguration geht man wie folgt vor:

  1. SSH-Verbindung (Setup-Verbindung, siehe Grundlagen) mit Port-Weiterleitung zu hopx.psi.ch aufbauen
  2. Port-Weiterleitung nutzen

Beispiel: Schritt Nr. 1, Setup-Verbindung zu hopx.psi.ch mit Port-Weiterleitung aufbauen

Man wählt die gespeicherte Verbindung "hopx.psi.ch" aus, klickt auf "Load" und anschliessend auf "Open". Sobald die Verbindung zu hopx.psi.ch nach der erfolgreichen Authentisierung steht erfolgt Schritt Nr. 2

 

Beispiel: Schritt Nr. 2, Port-Weiterleitung nutzen

Wenn die Verbindung zu hopx.psi.ch besteht, kann dann über den lokal weitergeleiteten Port die Verbindung zu dem internen System aufgebaut werden. Man startet den RDP-Client und verbindet sich mit "localhost:8389" oder "127.0.0.1:8389" und erreicht damit das Loginprompt von winterm4.psi.ch.

 

 

 

SSH zu einem oder mehreren internen Systemen mittels "Connection Shareing"

Empfohlen für User, die regelmässig zu mehreren internen Systemen eine SSH-Verbindung aufbauen möchten

Anwendungsfall:

  • Aufbau von einer oder mehreren SSH-Verbindungen über hopx.psi.ch zu internen Systemen.

Vorteil:

  • keine Port-Weiterleitung zu den internen Systemen notwendig
  • flexibler Aufbau von einer oder mehreren  SSH-Verbindungen zu internen Systemen, da keine Anpassung von Port-Weiterleitungen notwendig

Nachteil:

  • ohne zuvor aktiviertes Connection Shareing ist für jede Verbindung (Setup-Verbindung und Verbindungen zu internen Systemen) eine Authentisierung an hopx.psi.ch notwendig

Hinweis:

Bei Putty-Versionen kleiner als 0.78  steht das Connection Shareing nicht zur Verfügung und kann in Verbindung mit hopx.psi.ch nur für Port-Weiterleitungen genutzt werden. 

In der linken Spalte "Category" den oberen Eintrag "Session" anwählen und rechts im Feld "Host Name (or IP adress)

<user>@hopx.psi.ch

eintragen (<user> bitte mit dem tatsächlichen Benutzernamen ersetzen)

Im Feld "Saved Session" ein Name für dieses Profil eintragen. In dem Fall "hopx.psi.ch" (noch nicht auf "Save" klicken)

Dann muss  in der linken Spalte "Category" der Eintrag "Connection -> SSH" angewählt, und unter "Sharing an SSH connection between PuTTY tools" ein Haken bei "Share SSH connections if possible" gesetzt werden.

Jetzt müssen die Einstellungen abgespeichert werden. In der linken Spalte "Category" den oberen Eintrag "Session" anwählen und rechts auf "Save" klicken. Die Vorbereitung für die Verbindung zu hopx.psi.ch ist damit abgeschlossen. 

Für die Verbindung zum internen System (bspw. zu ssh-srv1.psi.ch) muss wie folgt vorgegangen werden: 

(Anmerkung: ssh-srv1.psi.ch, ssh-srv2.psi.ch etc. sind keine realen Systeme,  lediglich Platzhalter und dienen als Beispiel. Diese Hostnamen müssen durch den Hostname des Ihnen bekannten und vorhandenen Systems ersetzt werden!)

In der linken Spalte "Category" den oberen Eintrag "Session" anwählen und rechts im Feld "Host Name (or IP adress)

<user>@ssh-srv1.psi.ch

eintragen (<user> bitte mit dem tatsächlichen Benutzernamen ersetzen)

Im Feld "Saved Session" ein Name für dieses Profil eintragen. In dem Fall "ssh-srv1-via-hopx" (noch nicht auf "Save" klicken)

Damit die Verbindung zu ssh-srv1.psi.ch über hopx.psi.ch erfolgt muss dann in der linken Spalte "Category" der Eintrag  "Connection -> Proxy" ausgewählt werden.  Im Rechten Teil des Putty-Fensters muss "Proxy type" auf  "SSH to proxy and use port forwarding" gesetzt sein. In das Feld "Proxy hostname" muss "hopx.psi.ch" und in das Feld "Port" muss "22" eingetragen werden. 

(Achtung: Die Bezeichnung im Feld "Proxy hostname" muss mit der unter "Saved Session" gespeicherten Bezeichnung  (siehe oben) für hopx übereinstimmen. In dem Fall "hopx.psi.ch". Wurde das Verbindungsprofil für hopx unter einem anderen Namen abgespeichert, muss der Eintrag an dieser Stelle angepasst werden.)

In der Zeile "Do DNS name lookup at proxy end" muss von "Auto" auf "Yes" umgestellt werden. 

Dann springt man zurück zu "Session" und speichert die Einstellungen mit einem klick auf "Save" ab.

Zur Nutzung der zuvor erstellten Konfiguration geht man wie folgt vor:

  1. SSH-Verbindung (Setup-Verbindung, siehe Grundlagen) zu hopx.psi.ch aufbauen und geöffnet lassen
  2. SSH-Verbindung via hopx.psi.ch zum internen System (ssh-srv1.psi.ch) aufbauen

Beispiel: Schritt Nr. 1, Setup-Verbindung zu hopx.psi.ch aufbauen

Man wählt die gespeicherte Verbindung "hopx.psi.ch" aus, klickt auf "Load" und anschliessend auf "Open". Sobald die Verbindung zu hopx.psi.ch nach der erfolgreichen Authentisierung steht erfolgt Schritt Nr. 2

 

Beispiel: Schritt Nr. 2, SSH-Verbindung zum internen System ssh-srv1.psi.ch aufbauen

Man ruft Putty erneut auf und wählt die gespeicherte Verbindung "ssh-srv1.psi.ch" aus, klickt auf "Load" und anschliessend auf "Open". Wenn alles korrekt konfiguriert wurde, sieht man nun das Loginprompt von ssh-srv1.psi.ch, an dem man sich authentisieren muss. (Ein erneuter Aufruf zu Authentisierung an hopx.psi.ch, vor der Authentisierung an ssh-srv1.psi.ch, erfolgt nicht.)

 

Für jede Verbindung zu einem weiteren internen SSH-Server muss in Putty ein neues Verbindungsprofil erstellt werden. Am einfachsten ist das mit den folgenden Schritten:

  1. eine bereits gespeicherte Verbindung, z. B. "ssh-srv1.psi.ch" wählen und auf "Load" klicken
  2. das Feld "Host Name (or IP adress)"  anpassen, z. B. <user>@ssh-srv2.psi.ch 
  3. im Feld "Saved Session" ein Name für dieses Profil eintragen. In dem Fall "ssh-srv2-via-hopx" und auf "Save" klicken

 

 

 

SSH mittels "Connection Shareing" und gleichzeitiger Port-Weiterleitung über ein internes System

Empfohlen für User, die regelmässig zu mehreren internen Systemen eine SSH-Verbindung, und parallel eine oder mehrere andere Verbindungen (bspw. RDP, Fileserver etc.) zu weiteren internen Systemen aufbauen möchten. 

Für die Nutzung einer Port-Weiterleitung muss lediglich das oben beschriebenen Beispiel zu "SSH zu einem oder mehreren internen Systemen mittels Connection Shareing" um eine Port-Weiterleitung für RDP ergänzt werden.

Für bspw. eine Port-Weiterleitung zu winterm4.psi.ch über die SSH-Verbindung zu ssh-srv1.psi.ch muss wie folgt vorgegangen werden:  

In der linken Spalte "Category" wählt man unter "Session" das bereits vorhandene Profil "ssh-srv1.psi.ch" aus und klickt auf "Load". Anschliessend wird in der linke Spalte "Connection -> SSH -> Tunnels" angewählt. Dann trägt man in das Feld "Source port" z. B. den lokalen Port "8389" ein und in das Feld "Destination" den Zielserver und den entprechenden Port "winterm4.psi.ch:3389". Der Typ wird auf "Local" gesetzt und anschliessend auf "Add" geklickt. Durch dieses Setting werden RDP-Verbindungen auf den lokalen Port 8389 zu winterm4.psi.ch Port 3389 geleitet.

Nach der vollständigen Tunnel Konfiguration sieht das dann wie folgt aus. 

Dann springt man zurück zu "Session" und speichert die Einstellungen mit einem klick auf "Save" ab. 

Zur Nutzung der zuvor erstellten Konfiguration geht man wie folgt vor:

  1. SSH-Verbindung (Setup-Verbindung, siehe Grundlagen) zu hopx.psi.ch aufbauen und geöffnet lassen
  2. SSH-Verbindung via hopx.psi.ch zum internen System (ssh-srv1.psi.ch) aufbauen (startet u. a. die Port-Weiterleitung)
  3. Port-Weiterleitung nutzen

Beispiel: Schritt Nr. 1, Setup-Verbindung zu hopx.psi.ch aufbauen

Man wählt die gespeicherte Verbindung "hopx.psi.ch" aus, klickt auf "Load" und anschliessend auf "Open". Sobald die Verbindung zu hopx.psi.ch nach der erfolgreichen Authentisierung steht erfolgt Schritt Nr. 2

 

Beispiel: Schritt Nr. 2, SSH-Verbindung zum internen System ssh-srv1.psi.ch aufbauen

Man ruft Putty erneut auf und wählt die gespeicherte Verbindung "ssh-srv1.psi.ch" aus, klickt auf "Load" und anschliessend auf "Open". Wenn alles korrekt konfiguriert wurde, sieht man nun das Loginprompt von ssh-srv1.psi.ch, an dem man sich authentisieren muss. (Ein erneuter Aufruf zu Authentisierung an hopx.psi.ch, vor der Authentisierung an ssh-srv1.psi.ch, erfolgt nicht.)

 

Beispiel: Schritt Nr. 3, Nutzung der Port-Weiterleitung

Startet man dann den RDP-Client und verbindet sich mit "localhost:8389" oder "127.0.0.1:8389" erreicht man das Loginprompt von winterm4.psi.ch.

 

 

 

Dynamisches Tunneling

Beim Dynamischen Tunneling wird hopx.psi.ch oder ein System im internen PSI-Netzwerk als Socks5-Proxy verwendet. In Verbindung mit einem Browser, der die Anfragen dann an den Socks5-Proxy schickt, lassen sich so mehrere unterschiedliche interne Webserver/Webseiten kontaktieren. 

In Putty wird das dynamische Tunneling mit Hilfe einer Port-Weiterleitung konfiguriert. Diese kann über hopx.psi.ch erfolgen, wie im Abschnitt "SSH, RDP etc. zu internen Systemen mit Hilfe von Port-Weiterleitung" beschrieben. Oder sie erfolgt über ein internes System wie im Abschnitt "SSH mittels "Connection Shareing" und gleichzeitiger Port-Weiterleitung über ein internes System" beschrieben.

In Putty muss unter "Session" eine gespeicherte Verbindung (entweder zu hopx.psi.ch oder einem internen System) ausgewählt werden, dann auf "Load" klicken. Anschliessend wird in der linke Spalte "Connection -> SSH -> Tunnels" angewählt. Dann trägt man in das Feld "Source port" z. B. den lokalen Port "9000" ein und das Feld "Destination" bleibt leer. Der Typ wird auf "Dynamic" gesetzt und anschliessend auf "Add" geklickt. Dann unter "Session" die Änderung der gespeicherten Session mit einem Klick auf "Save" speichern.

Wichtig für den Benutzer ist zu unterscheiden bei welcher Verbindung mit Putty der lokale Port 9000 für die Weiterleitung geöffnet wird. Entweder  schon bei der Verbindung zu hopx.psi.ch oder erst bei der zweiten Verbindung via hopx zu einem internen System im PSI-Netzwerk. 


Nutzung des Dynamischen Tunnelings

Nach dem nun eine SSH-Verbindung mit Putty zu hopx.psi.ch oder einem System im internen PSI-Netzwerk aufgebaut wurde und lokal der Port 9000 zur Verfügung steht, kann dieser mit einem Browser genutzt werden. 

Jetzt kann man z. B. bei den Proxyeinstellungen des Firefox-Browsers ("Einstellungen -> Allgemein -> Netzwerk") bei 

"SOCKS Host: localhost Port: 9000 "eintragen. 

Anstatt "localhost" kann auch "127.0.0.1" eingetragen werden. 

In das Feld "No Proxy for:" sollten zusätzlich alle Domain-/Hostnamen, IP-Adressen/-Ranges eingetragen werden, die direkt, d. h. ohne den Umweg über hopx.psi.ch oder dem internen System abgerufen werden sollen, bspw. "localhost, 127.0.0.1, .ethz.ch, .com". 

Die Option "Proxy DNS when using SOCKS v5" muss mit einem Haken aktiviert werden.  Die Einstellungen müssen mit einem Klick auf "OK" bestätigt werden. 

Hinweis: 

Über hopx.psi.ch können PSI-Mitarbeiter nur PSI-interne Webseiten, www.psi.ch und intranet.psi.ch abrufen. Der Zugriff auf ServiceNOW sollte ebenfalls funktionieren.  Weitere PSI-eigene, aber extern gehostete Seiten können bei Bedarf freigegeben werden. Verbindungen zu PSI-fremden, externen Webseiten werden nicht weitergeleitet!! Wer uneingeschränkten Zugriff auf PSI-eigene Webseiten benötigt (wie wenn ein System vor Ort am PSI genutzt wird), dem empfehlen wir das dynamische Tunneling über ein PSI-internes System im PSI-Netzwerk und NICHT direkt via hopx.psi.ch.

MobaXterm kann man für den Zugang via hopx.psi.ch ins PSI LAN nutzen, wird aber offiziell nicht vom PSI unterstützt. 

Dennoch möchten wir nachfolgend verschiedene Hinweise geben, die bei der Nutzung von MobaXterm hilfreich sein könnten. 

SSH zu einem oder mehreren internen Systemen

Anwendungsfall:

  • Aufbau von einer oder mehreren SSH-Verbindungen über hopx.psi.ch zu internen Systemen.

Vorteil:

  • flexibler Aufbau von einer oder mehreren  SSH-Verbindungen zu internen Systemen

Nachteil:

  • mehrmalige Authentisierungen an hopx.psi.ch notwendig. 

Um mit MobaXterm eine SSH-Verbindungen zu einem internen System aufbauen zu können werden die folgenden Schritte benötigt. 

  1. Setup-Verbindung zu hopx.psi.ch
  2. Verbindung zum internen System durch hopx.psi.ch als "SSH gateway"

Für die Konfiguration wird wie folgt vorgegangen: 

In den "Session-Settings" für SSH in "Basic SSH settings" im Feld "Remote host" hopx.psi.ch eintragen. Einen Haken bei "Specify username" setzen, im Feld rechts daneben den Benutzernamen eintragen und unten auf "OK" klicken. Die Einstellungen für die Setup-Verbindung sind damit abgeschlossen. 

Als nächstes wird die SSH-Verbindung zum internen System konfiguriert. 

In den "Session-Settings" für SSH in "Basic SSH settings" im Feld "Remote host" den Hostnamen des internen Systems (bspw. zu ssh-srv1.psi.ch) eintragen. 

(Anmerkung: ssh-srv1.psi.ch ist kein reales System,  lediglich ein Platzhalter und dient als Beispiel. Dieser Hostname muss durch den Hostname des Ihnen bekannten und vorhandenen Systems ersetzt werden!)

Dann einen Haken bei "Specify username" setzen und im Feld rechts daneben den Benutzernamen eintragen.

Eine Zeile weiter unten den Tab "Network settings" und darin "SSH gateway (jump host)" anklicken. 

Als SSH Gateway wird im Feld "Gateway host" hopx.psi.ch und im Feld "Username" der Benutzername eingetragen. Dann unten auf "OK" klicken. 

Die Konfiguration für die SSH-Verbindung zum internen System ist damit abgeschlossen. 

Zur Nutzung der zuvor erstellten Konfiguration geht man wie folgt vor:

  1. SSH-Verbindung (Setup-Verbindung, siehe Grundlagen) zu hopx.psi.ch aufbauen und geöffnet lassen
  2. SSH-Verbindung via hopx.psi.ch zum internen System (ssh-srv1.psi.ch) aufbauen.

Anmerkung: 

Schritt Nr. 1 mit dem Aufbau der Setup-Verbindung zu hopx.psi.ch muss in jedem Fall separat durchgeführt werden!  Der alleinige Aufbau der Verbindung aus Schritt Nr. 2 zum internen System über hopx.psi.ch als SSH-Gateway funktioniert nicht!

Nach dem erfolgreichen Aufbau der Setup-Verbindung zu hopx.psi.ch erfolgt Schritt Nr. 2, der Aufbau der SSH-Verbindung zum internen System. Da bei der Konfiguration der Verbindung hopx.psi.ch als SSH Gateway angegeben wurde, erfolgt der Verbindungsaufbau durch die bereits bestehende Setup-Verbindung zu hopx.psi.ch. Trotzdem muss man sich beim Aufbau der Verbindung zum internen System zunächst erneut an hopx.psi.ch authentisieren, bevor man an das Loginprompt des internen Systems gelangt. 

 

 

 

SSH mit Port-Weiterleitung /  Tunneling

Wie eine Port-Weiterleitung bzw. ein Tunneling in MobaXterm zu konfigurieren ist, wird hier nicht näher erläutert. Wir weisen aber darauf hin, dass für das Tunneling bzw. die Port-Weiterleitung mit MobaXterm in der freien Version der Software nur zwei gleichzeitige Weiterleitungen zur Verfügung stehen. Mehr ist nicht möglich und erfordert die kommerzielle Variante des Programms. 

Benutzern, die neben der SSH-Client Funktion noch weitere Clientfunktionen (RDP, VNC, Filebrowser etc.) von MobaXterm von ausserhalb des PSI nutzen möchten, empfehlen wir folgende Vorgehensweise

  1. mit Putty eine  Setup-Verbindung aufbauen und damit alle erforderlichen Port-Weiterleitungen starten. Die Vorgehensweise dazu ist unter "SSH, RDP etc. zu internen Systemen mit Hilfe von Port-Weiterleitung" beschrieben.
  2. mit MobaXterm und den entsprechenden Clientfunktionen auf die aus Schritt Nr. 1 weitergleiteten lokalen Ports zugreifen. 

Den SSH-Zugang via hopx.psi.ch ins PSI LAN kann man mittels SSH mit Powershell nutzen, wird aber offiziell nicht vom PSI unterstützt. Wir verweisen auf die Beschreibung zur Nutzung mit Unix/Linux/macOS.

Aber Achtung, auch wenn die SSH-Version ab Windows 10 auf OpenSSH basiert, wurden nicht alle Eigenschaften vom Original implementiert. 

Das SSH Multiplexing wurde in der Windowsversion nicht implementiert. Mehr Infos dazu sind hier zu finden. Selbst wenn in der Config-Datei der "ControlPath" angegeben wird, werden diese Angaben nicht vom Programm genutzt. Das führt dazu, dass bspw. bei einer zweiten SSH-Verbindung via hopx.psi.ch (nach dem Aufbau der separaten Setup-Session!) mit dem Kommando

ssh -J <user>@hopx.psi.ch <user>@ssh-srv1.psi.ch

eine erneute Authentisierung an hopx.psi.ch notwendig ist, bevor man das Loginprompt von ssh-srv1.psi.ch erreicht. 

(Anmerkung: ssh-srv1.psi.ch ist kein reales System,  lediglich ein Platzhalter und dient als Beispiel. Dieser Hostname muss durch den Hostname des Ihnen bekannten und vorhandenen Systems ersetzt werden!)