Zum Inhalt springen

Dienste/SSH

Aus Technik-Wiki

SSH

An vielen Linux-/Unix-Rechner am FB3 kann man sich per SSH anmelden. Diese Seite stellt Anleitungen für den Umgang mit diesem Dienst, sowie eine Liste mit Hostkeys von im Fachbereichsnetz bekannten SSH-Servern zur Verfügung.

Die Anmeldung per SSH erfolgt ausschließlich über das Public-Key-Verfahren.

FB3-Rechner auf denen man sich mit SSH anmelden kann

Dies ist eine nicht erschöpfende Liste von FB3-Rechnern, auf denen man sich per SSH anmelden kann:

login.informatik.uni-bremen.de
Login-Server auf Linix-Basis.
login-smartos.informatik.uni-bremen.de
Login-Server in einer SmartOS-Zone.
login-freebsd.informatik.uni-bremen.de
Login-Server auf FreeBSD-Basis.
(x01-x10).informatik.uni-bremen.de
Linux-Rechner im Praktikumspool.
(m01-m06).informatik.uni-bremen.de
macOS-Rechner (Intel) im Praktikumspool.
(mm1-mm5).informatik.uni-bremen.de
macOS-Rechner (ARM) im Praktikumspool.

SSH-Hostschlüssel von FB3-Rechnern

Aktuelle Liste von Hostschlüsseln für FB3-Rechner im OpenSSH-Format: ssh_known_hosts

Zugriff auf Dateien im FB3-Netz

FB3-Rechner auf denen man sich per SSH anmelden kann binden in der Regel diverse NFS-Dateifreigaben aus dem Netzwerk ein die unter /home zu finden sind. Unter anderem die Heimverzeichnisse und die persönlichen Webseiten.

Per SSH kann dadurch mit SFTP aus der Ferne darauf zugegriffen werden.

Dabei ist zu beachten, dass ggf. nicht immer alle verfügbaren Verzeichnisse unter /home gelistet werden. Diese werden beim Zugriff auf den Pfad automatisch eingehängt.

So kann es z.B. sein, dass ls /home keinen Eintrag für wwwu anzeigt, cd /home/wwwu/$USER funktioniert aber trotzdem (und danach wird wwwu auch in /home angezeigt).

Einrichten von Public-Key-Authentifizierung

Diese Anleitung gilt für alle Betriebssysteme auf denen ein OpenSSH-Client verfügbar ist, also unter anderem Linux, macOS und Windows.

OpenSSH ist in aktuellen Windows-Versionen Teil des Betriebssystems, muss aber ggf. noch aktiviert werden. Siehe hier für eine Anleitung dazu.

Für die Anmeldung wird ein öffentlicher und ein privater Schlüssel benötigt. Der öffentliche Schlüssel wird dabei auf dem SSH-Server hinterlegt und kann bedenkenlos veröffentlicht bzw. an andere Personen weitergegeben werden, während der private Schlüssel sich allein im Besitz des Clients befindet und unter allen Umständen geheim gehalten werden sollte.

Gängige Windows-Clients, wie z.B. PuTTY und WinSCP können in aktuellen Windows-Versionen enthaltenen SSH-Agent für die Authentifizierung mitnutzen, sodass keine gesonderte Konfiguration oder private Schlüssel in anderen Formaten notwendig sind. Siehe hier für eine Anleitung zum Einrichten.

Erzeugen eines Schlüsselpaares

Um ein Schlüsselpaar zu erzeugen, kann auf dem Client-Rechner das folgende Kommando ausgeführt werden:

ssh-keygen -t ed25519

Es erzeugt in ~/.ssh die Dateien id_ed25519 (privater Schlüssel) und id_ed25519.pub (öffentlicher Schlüssel). Mit dem Parameter -f $DATEINAME können die Dateinamen und -pfade angepasst werden.

Der Befehl fordert dazu eine eine sogenannte Passphrase einzugeben. Diese wird dazu benutzt um den privaten Schlüssel zu verschlüsseln, sodass er nur in Verbindung mit der Passphrase genutzt werden kann.

Warnung Warnung: Auf eine Passphrase zu verzichten bedeutet ein erhebliches Sicherheitsrisiko. Falls der private Schlüssel in fremde Hände gerät, kann dieser einfach ohne weiteres Zutun für die Authentifizierung genutzt werden.

Öffentliche Schlüssel auf SSH-Servern hinterlegen

Wenn man einen öffentlichen Schlüssel in seinem Heimverzeichnis hinterlegt, kann man sich autoamtisch auf allen FB3-Rechnern anmelden, die dieses einbinden (und das Anmelden per SSH zulassen).

Am Beispiel des oben erzeugten Schlüsselpaares muss man dazu den Inhalt der Datei id_ed25519.pub (NICHT id_ed25519) in die Datei .ssh/authorized_keys einfügen. Wenn das .ssh-Verzeichnis nicht existiert kann man es einfach wie folgt anlegen:

mkdir ~/.ssh
chmod 700 .ssh

Wenn man nicht vor Ort ist um seinen öffentlichen Schlüssel direkt an einem Rechner zu hinterlegen kann man stattdessen die FB3-Usertools nutzen. Die dort hinterlegten öffentlichen Schlüssel werden jedoch nicht im Heimverzeichnis abgelegt, sondern in einer Datenbank gespeichert, sodass man sich ggf. nur auf bestimmten Rechnern anmelden kann (siehe den Text auf der verlinkten Seite).

Verwenden von privaten Schlüsseln

Wenn man beim Erzeugen des Schlüsselpaares den vorgegebenen Pfad für die Schlüsseldateien genutzt hat wird der private Schlüssel automatisch vom SSH-Client berücksichtigt.

Falls man einen anderen Pfad oder Dateinamen gewählt hat, kann man den Pfad zum privaten Schlüssel wie folgt angeben:

ssh -i /pfad/zum/privaten/schlüssel zielhost

Alternativ kann man die Konfigurationsdatei ~/.ssh/config benutzen. Siehe auch die OpenSSH-Dokumentation dazu.