linux:ssh

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
linux:ssh [2008/02/18 13:52] – wiki psycorelinux:ssh [2024/01/02 23:11] psycore
Zeile 1: Zeile 1:
 +{{tag>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!**
  • linux/ssh.txt
  • Zuletzt geändert: 2024/01/12 22:22
  • von 127.0.0.1