SSH
Privater und öffentlicher Schlüssel
Für die sichere Verbindung über SSH wird ein privater und ein öffentlicher Schlüssel benötigt. Nachfolgend sind die verschiedenen Schlüssel-Algorithmen erklärt.
RSA
Beim RSA Standard kann die Schlüsselstärke variabel angegeben werden. Aktuell sollten mindestens 2048 Bits, besser jedoch 4096, verwendet werden. RSA gilt, bei entsprechend hoher Bitrate, als sicher, benötigt jedoch im Vergleich gegenüber ECDSA und ED25519 mehr Ressourcen und Zeit, was bei leistungsarmen Geräten, bspw. im IoT Bereich, ein Nachteil ist.
1 |
|
ECDSA
Mögliche Werte für die Schlüsselstärke sind 256, 384 und 521 Bits.
1 |
|
ED25519
1 |
|
Falls der Parameter -f nicht angegeben wurde, wird anschließend nach dem Speicherort gefragt.
Schlüssel für andere Benutzer werden am besten direkt als diese erstellt. Dies hat den Effekt, dass direkt die korrekten Rechte gesetzt werden, sowie die Schlüssel im richtigen Verzeichnis abgelegt werden.
Der Nutzer kann mit folgendem Befehl gewechselt werden.
1 |
|
Passphrase
Es wird nach einer Passphrase gefragt, also ein Passwort, dass bei der Verbindung des privaten Schlüssels eingegeben werden muss. Dies erhöht die Sicherheit noch ein mal. Alternativ kann die Passphase leer gelassen werden, wodurch der Schlüssel ohne Eingabe verwendet werden kann, was bspw. bei automatisierten Prozessen sinnvoll sein kann.
Autorisierte Schlüssel
Damit der Server die Verbindung durch den privaten Schlüssel zulässt, muss zunächst der öffentliche im Server hinterlegt werden. Dies geschieht über folgenden Befehl am Beispiel eines RSA-Schlüssels.
RSA
1 |
|
ECDSA
1 |
|
Ed25519
1 |
|
Putty
Für die Verwendung des privaten Schlüssels mit Putty muss dieser zunächst umgewandelt werden. Dazu wird PuttyGen benötigt. Zuerst muss der Schlüssel in PuttyGen geladen werden. Wurde bei der Generierung eine Passphrase angegeben, muss diese zuvor eingegeben werden. Danach kann der private Schlüssel im Putty-Format abgespeichert werden.
Server-Konfiguration
Um die Server-Konfiguration anzupassen wird am besten eine eigene Konfiguration unter /etc/ssh/sshd_config.d/
angelegt.
Port ändern
1 |
|
Root-Zugriff
Je nach Anwendungsfall kann der root
Zugriff erlaubt werden.
1 |
|
Passwort-Authentifizierung
Die Passwort-Authentifizierung sollte möglichst deaktiviert werden.
1 |
|
MotD
Message of the day - Wird beim Login angezeigt.
1 |
|
Letzte Anmeldung
1 |
|
Eigenes Banner
Wird bei jeder Anmeldung (vor Passworteingabe) angezeigt.
1 |
|
Beispielsweise kann folgender Text in die Datei /etc/ssh/sshd_banner
einfügt werden.
1 2 |
|
Debian Banner
1 |
|
Host Keys
Um die Sicherheit weiter zu erhöhen, können die Host Keys ausgetauscht werden. Zuerst werden alle alten Host Keys entfernt.
RSA
Schlüsselstärke auf 8192 Bits anheben.
1 |
|
ECDSA
Schlüsselstärke auf 521 Bits anheben.
1 |
|
ED25519
1 |
|
Der Parameter -N steht für die Passphrase, welche somit nicht gesetzt wird.
Im Anschluss muss der SSH Server neu gestartet werden.
1 |
|