Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
linux:ssh [2008/08/18 20:27] – tutdetails psycorelinux:ssh [2024/01/12 22:22] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +{{tag>deutsch linux debian sshd it-security}}
 +====== Sichern des sshd ======
  
 +Der vorinstallierte SSH Daemon (sshd) ist in der Grundkonfiguration unsicher. Um einen größeren Schutz zu gewährleisten, ist es nötig eine [[wpde>Asymmetrisches_Kryptosystem|Schlüsselauthentifizierung]] zu integrieren.
 +
 +
 +===== Schlüsselpaar erzeugen =====
 +
 +Zunächst legen wir unter Linux ein Schlüsselpaar an:
 +
 +<code bash>
 +$ ssh-keygen -t rsa -b 4096
 +Generating public/private rsa key pair.
 +Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/id_rsa
 +Enter passphrase (empty for no passphrase):
 +Enter same passphrase again:
 +Your identification has been saved in /home/user/.ssh/id_rsa.
 +Your public key has been saved in /home/user/.ssh/id_rsa.pub.
 +The key fingerprint is:
 +35:9f:6e:c2:46:62:09:2d:dc:dd:1e:79:cc:56:d9:2b root@v05-s42
 +</code>
 +**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, 0 symlinks removed but not followed, 0 errors occured.</code>
 +
 +Den Vorgang wiederholen wir mit allen Usern, die Zugriff auf den sshd haben sollen.
 +
 +Modes setzen:
 +
 +<code bash>
 +chmod 0700 .ssh
 +chmod 0600 .ssh/authorized_keys
 +</code>
 +
 +===== Putty Private Key =====
 +
 +Nun laden wir uns [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|puttygen.exe]] runter. Wir öffnen puttygen.exe und navigieren im Menü zu **Conversion / Import Key**. An dieser Stelle wählen wir den generierten private key aus, den wir uns auf unseren Computer geladen haben. Nun noch ein passendes Kommentar hinzufügen und wir können auf **save private key** klicken.
 +
 +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, können wir die Passwort Autenthifizierung in unserem sshd komplett deaktivieren.
 +
 +===== sshd Konfiguration =====
 +
 +Nun bearbeiten wir die sshd Konfigurationsdatei <code text>/etc/ssh/sshd_config</code>
 +
 +<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
 +</code>
 +
 +===== sshd neustarten =====
 +
 +<code bash>/etc/init.d/ssh restart</code>
 +
 +==== Hinweis ====
 +
 +Die aktuelle SSH Sitzung wird nicht beendet. **Um Konfigurationsfehler zu beheben sollte die aktuelle Sitzung offen bleiben, bis alles richtig funktioniert!**