Fernzugriff mit SSH
Links
Zielsetzung
Beschreibung der Programme des Paketes OpenSSH.
Das Paket OpenSSH bietet Programme, die einen Fernzugriff auf andere Netzwerknoten und Dateitransfer anbietet. Alle Programme arbeiten mit Verschlüsselung.
Verschlüsselung
Verschlüsselung ist die Veränderung von Daten, damit diese von Unbefugten nicht verstanden werden können.
Eine Verschlüsselung benutzt ein Geheimnis (Passwort). Wer das Geheimnis kennt, kann die Verschlüsselung rückgängig machen.
Es gibt 2 Typen von Verschlüsselung:
- Symmetrische Verschlüsselung: Für die Verschlüsselung und Entschlüsselung wird das gleiche Geheimnis verwendet.
- Vorteil: einfaches Verfahren, schnell
- Wenn Knoten A das Geheimnis kennt, weil er verschlüsseln muss, kann er jede andere Nachricht auch entschlüsseln. Man muss also dem Knoten A vollkommen vertrauen.
- Asymmetrische Verschlüsselung: Das Verschlüsseln benutzt ein anderes Geheimnis (öffentlicher Schlüssel) als das Entschlüsseln (privater Schlüssel).
- Vorteil: Jeder kann verschlüsseln, wenn er den öffentlichen Schlüssel kennt. Aber nur der Besitzer des geheimen Schlüssels kann entschlüsseln. Damit kann der öffentlichen Schlüssel jedermann bekannt gemacht werden, und jedermann kann uns eine verschlüsselte Nachricht schicken. Aber nur wir mit dem privaten Schlüssel können solche Nachrichten wieder entschlüsseln.
- Nachteil: komplizierter, langsamer
OpenSSh verwendet beide Verfahren:
- Zuerst wird asymmetrische Verschlüsselung zum Verbindungsaufbau verwendet.
- Dann wird ein zufälliges Geheimnis erzeugt und dem Partner mitgeteilt.
- Der Rest der Kommunikation arbeitet dann mit dem temporäten Geheimnis.
Schlüsselverwaltung für asymmetrische Verschlüsselung
Erzeugen eines Schlüsselpaares
ssh-keygen -t rsa -b 4096
cat $HOME/.ssh/*.pub
- Es wird ein Verzeichnis $HOME/.ssh erzeugt und darin zwei Dateien angelegt:
- id_rsa Der private Schlüssel
- id_rsa.pub Der öffentliche Schlüssel
Beim Anlegen wird nach einem Passwort gefragt, mit dem der private Schlüssel geschützt wird. Nur wer das Passwort kennt, kann den privaten Schlüssel benutzen.
Installieren des öffentlichen Schlüssels auf einem anderen Netzwerknoten
# normalerweise, wenn nur ein Schlüsselpaar existiert:
ssh-copy-id hm@host
# wenn nur mehrere Schlüsselpaar existieren oder ein anderer Port verwendet wird:
ssh-copy-id -p 22 -i ~/.ssh/id_rsa hm@hamatoma.de
- die Adresse hm@host enthält den Benutzernamen auf dem anderen Knoten (hier hm) und die Netzwerkadresse des anderen Knotens (hier hamatoma.de)
Das Passwort in der Session merken
Es gibt ein Programm ssh-add
, das erlaubt, das Passwort für den privaten Schlüssel nur einmal einzugeben. Solange, bis sich der Benutzer abmeldet.
Anmelden auf einem anderen Netzwerkknoten
# normalerweise:
ssh huber@bug.hamatoma.de
# Bei einem anderen Port:
ssh -p 123456 huber@bug.hamatoma.de