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 [2023/10/18 22:47] – [Putty Private Key] psycorelinux:ssh [2024/12/17 13:05] (aktuell) – added ed25519 psycore
Zeile 1: Zeile 1:
 +{{tag>deutsch linux debian sshd it-security}}
 ====== Sichern des sshd ====== ====== Sichern des sshd ======
  
Zeile 4: Zeile 5:
  
  
-===== Schlüsselpaar erzeugen =====+===== 1.0 Schlüsselpaar ===== 
 + 
 +==== 1.1 Schlüsselpaar erzeugen ==== 
  
 Zunächst legen wir unter Linux ein Schlüsselpaar an: Zunächst legen wir unter Linux ein Schlüsselpaar an:
  
 <code bash> <code bash>
-$ ssh-keygen -t rsa -b 4096 +$ ssh-keygen -t ed25519 
-Generating public/private rsa key pair. +Generating public/private ed25519 key pair. 
-Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/id_rsa+Enter file in which to save the key (/home/user/.ssh/id_ed25519): /home/user/.ssh/id_ed25519 
 +</code> 
 + 
 +Wir werden aufgefordert, ein Passwort einzugeben. Dieser Vorgang ist wichtig, **da nur die Kombination aus Schlüsseldatei und Passwort** den Serverzugriff ermöglichen. 
 + 
 +<code bash>
 Enter passphrase (empty for no passphrase): Enter passphrase (empty for no passphrase):
 Enter same passphrase again: Enter same passphrase again:
-Your identification has been saved in /home/user/.ssh/id_rsa+Your identification has been saved in /home/user/.ssh/id_ed25519
-Your public key has been saved in /home/user/.ssh/id_rsa.pub.+Your public key has been saved in /home/user/.ssh/id_ed25519.pub.
 The key fingerprint is: The key fingerprint is:
 35:9f:6e:c2:46:62:09:2d:dc:dd:1e:79:cc:56:d9:2b root@v05-s42 35:9f:6e:c2:46:62:09:2d:dc:dd:1e:79:cc:56:d9:2b root@v05-s42
 </code> </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//)+Mit ''id_ed25519.pub'' machen wir nun folgendes:
  
-<code bash>$ wipe id_rsa +  - umbenennen in ''authorized_keys'' 
-Okay to WIPE 1 regular file ? (Yes/No) yes +  - verschieben in den Ordner ''.ssh'' 
-Operation finished. +  - Zugriffsberechtigungen setzen
-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> <code bash>
 +mv id_ed25519.pub .ssh/authorized_keys
 chmod 0700 .ssh chmod 0700 .ssh
 chmod 0600 .ssh/authorized_keys chmod 0600 .ssh/authorized_keys
 </code> </code>
  
-===== Putty Private Key =====+Anschließend laden wir uns ''id_ed25519'' lokal auf den Computer.
  
-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.+==== 1.2 Sicheres Löschen des privaten Schlüssels ====
  
-Diesen Key mit der .ppk Endung brauchen wir zum späteren Login für putty. **Diesen Key niemals auf den Server laden!**+**Wichtig ist es, ''id_ed25519'' danach sicher zu löschen!** (ggf. wipe installieren mit //apt-get install wipe//) 
 + 
 +<code bash>$ wipe id_ed25519 
 +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> 
 + 
 +===== 2.0 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. Wir markieren ''EdDSA'' im unteren Bereich. 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 ===== ===== 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.+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 =====+===== SSHd Konfiguration =====
  
-Nun bearbeiten wir die sshd Konfigurationsdatei <code text>/etc/ssh/sshd_config</code>+Nun bearbeiten wir die SSHd Konfigurationsdatei <code bash>nano /etc/ssh/sshd_config</code>
  
 <code text> <code text>
Zeile 72: Zeile 87:
 HostbasedAuthentication no HostbasedAuthentication no
 PermitEmptyPasswords no PermitEmptyPasswords no
 +PermitRootLogin no
  
 # Wollen wir erst recht nicht # Wollen wir erst recht nicht
Zeile 78: Zeile 94:
 </code> </code>
  
-===== sshd neustarten =====+===== SSHd Neustart =====
  
 <code bash>/etc/init.d/ssh restart</code> <code bash>/etc/init.d/ssh restart</code>
Zeile 85: Zeile 101:
  
 Die aktuelle SSH Sitzung wird nicht beendet. **Um Konfigurationsfehler zu beheben sollte die aktuelle Sitzung offen bleiben, bis alles richtig funktioniert!** Die aktuelle SSH Sitzung wird nicht beendet. **Um Konfigurationsfehler zu beheben sollte die aktuelle Sitzung offen bleiben, bis alles richtig funktioniert!**
- 
-===== Copyright und Hinweise ===== 
- 
-© by [[:PsyCore]] 2020 
- 
-Für eventuelle Schäden, die aufgrund der Nutzung dieses Tutorials enstehen, übernimmt der Autor keinerlei Haftung. Dieses Tutorial ist nach bestem Wissem und Gewissen geschrieben. Die Weitergabe dieses Tutorials ist nur gestattet, wenn der original Text inklusive Copyright Hinweis unberührt bleibt.