Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:ssh [2019/12/05 13:57] – psycore | linux:ssh [2024/01/12 22:22] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> | ||
+ | ====== Sichern des sshd ====== | ||
+ | Der vorinstallierte SSH Daemon (sshd) ist in der Grundkonfiguration unsicher. Um einen größeren Schutz zu gewährleisten, | ||
+ | |||
+ | |||
+ | ===== Schlüsselpaar erzeugen ===== | ||
+ | |||
+ | Zunächst legen wir unter Linux ein Schlüsselpaar an: | ||
+ | |||
+ | <code bash> | ||
+ | $ ssh-keygen -t rsa -b 4096 | ||
+ | Generating public/ | ||
+ | Enter file in which to save the key (/ | ||
+ | Enter passphrase (empty for no passphrase): | ||
+ | Enter same passphrase again: | ||
+ | Your identification has been saved in / | ||
+ | Your public key has been saved in / | ||
+ | The key fingerprint is: | ||
+ | 35: | ||
+ | </ | ||
+ | **Unbedingt ein Passwort angeben, ansonsten kann man durch den reinen Besitz des Private Keys auf den Server zugreifen!** | ||
+ | |||
+ | id_rsa.pub benennen wir um in authorized_keys und id_rsa laden wir uns lokal auf den Computer. **Wichtig ist es, id_rsa danach sicher zu löschen!** (ggf. wipe installieren mit //apt-get install wipe//) | ||
+ | |||
+ | <code bash>$ wipe id_rsa | ||
+ | Okay to WIPE 1 regular file ? (Yes/No) yes | ||
+ | Operation finished. | ||
+ | 1 file wiped and 0 special files ignored in 0 directories, | ||
+ | |||
+ | Den Vorgang wiederholen wir mit allen Usern, die Zugriff auf den sshd haben sollen. | ||
+ | |||
+ | Modes setzen: | ||
+ | |||
+ | <code bash> | ||
+ | chmod 0700 .ssh | ||
+ | chmod 0600 .ssh/ | ||
+ | </ | ||
+ | |||
+ | ===== Putty Private Key ===== | ||
+ | |||
+ | Nun laden wir uns [[http:// | ||
+ | |||
+ | Diesen Key mit der .ppk Endung brauchen wir zum späteren Login für putty. **Diesen Key niemals auf den Server laden!** | ||
+ | |||
+ | |||
+ | ===== Login Test ===== | ||
+ | |||
+ | Nun testen wir, ob die Verbindung mit dem erzeugten Schlüssel zustande kommt. Dazu öffnen wir putty.exe und tragen wie gewohnt den Hostnamen ein. Bevor wir nun auf **open** klicken, wechseln wir links in der Baumansicht auf **Connection / SSH / Auth** und geben unter **private key file for authentication** den Pfad zu unserem ppk file an. Nun auf **open** klicken. Wenn der Login erfolgreich war, und ohne Fehlermeldung, | ||
+ | |||
+ | ===== sshd Konfiguration ===== | ||
+ | |||
+ | Nun bearbeiten wir die sshd Konfigurationsdatei <code text>/ | ||
+ | |||
+ | <code text> | ||
+ | # Hier ist es sinnvoll einen Port oberhalb von 1024 zu nehmen | ||
+ | Port 22 | ||
+ | |||
+ | # Unbedingt Protokoll 2 verwenden! | ||
+ | Protocol 2 | ||
+ | |||
+ | # RSAAuthentication deaktivieren | ||
+ | RSAAuthentication no | ||
+ | |||
+ | # PubkeyAuthentication aktivieren | ||
+ | PubkeyAuthentication yes | ||
+ | |||
+ | # Don't read the user's ~/.rhosts and ~/.shosts files | ||
+ | IgnoreRhosts yes | ||
+ | |||
+ | # Wollen wir nicht | ||
+ | RhostsRSAAuthentication no | ||
+ | HostbasedAuthentication no | ||
+ | PermitEmptyPasswords no | ||
+ | |||
+ | # Wollen wir erst recht nicht | ||
+ | PasswordAuthentication no #UNBEDINGT AUSKOMMENTIEREN UND AUF NO SETZEN!!!! | ||
+ | ChallengeResponseAuthentication no | ||
+ | </ | ||
+ | |||
+ | ===== sshd neustarten ===== | ||
+ | |||
+ | <code bash>/ | ||
+ | |||
+ | ==== Hinweis ==== | ||
+ | |||
+ | Die aktuelle SSH Sitzung wird nicht beendet. **Um Konfigurationsfehler zu beheben sollte die aktuelle Sitzung offen bleiben, bis alles richtig funktioniert!** |