**Einrichtung der SSH-schlüsselbasierten Authentifizierung unter Ubuntu 16.04**
Die SSH-schlüsselbasierte Authentifizierung ermöglicht es Benutzern, sicher auf den Server zuzugreifen, ohne ihre Passwörter verwenden zu müssen. Hier ist eine Schritt-für-Schritt-Anleitung:
**1. Erstellung von SSH-Schlüsseln:**
Der erste Schritt besteht darin, SSH-Schlüssel für die Benutzer zu erstellen. Dies beinhaltet die Erstellung eines Schlüsselpaares (öffentlicher und privater Schlüssel) für jeden Benutzer. Verwenden Sie dazu den folgenden Befehl:
```
ssh-keygen -t rsa -b 4096
```
Dieser Befehl speichert den öffentlichen Schlüssel (`id_rsa.pub`) und den privaten Schlüssel (`id_rsa`) standardmäßig im Home-Verzeichnis des Benutzers (`~/.ssh/`).
**2. Hinzufügen der SSH-Schlüssel zum Server:**
Die erstellten öffentlichen SSH-Schlüssel müssen dem Server hinzugefügt werden. Kopieren Sie dazu den Inhalt des öffentlichen Schlüssel-Datei und fügen Sie ihn in die `~/.ssh/authorized_keys` Datei auf dem Server ein. Stellen Sie sicher, dass die Dateiberechtigungen korrekt gesetzt sind:
```
chmod 600 ~/.ssh/authorized_keys
```
**3. SSH-Konfiguration anpassen:**
Die Hauptkonfigurationsdatei des SSH-Servers ist `/etc/ssh/sshd_config`. Bearbeiten Sie diese Datei, um die passwortbasierte Authentifizierung zu deaktivieren und die schlüsselbasierte Authentifizierung zu aktivieren:
```
PasswordAuthentication no
PubkeyAuthentication yes
```
Führen Sie die Änderungen durch und starten Sie den SSH-Dienst neu:
```
sudo systemctl restart sshd
```
**4. Testen der schlüsselbasierten Authentifizierung:**
Versuchen Sie nun, auf den Server zuzugreifen, indem Sie SSH-Schlüssel verwenden:
```
ssh benutzername@server_ip_adresse
```
Dieser Befehl sollte Ihren Benutzernamen und die IP-Adresse Ihres Servers enthalten. Wenn Ihr Schlüssel ordnungsgemäß konfiguriert ist und ein entsprechender privater Schlüssel auf dem Server vorhanden ist, wird der Zugriff erfolgreich sein.
Die SSH-schlüsselbasierte Authentifizierung ist sicherer als die passwortbasierte Authentifizierung. Sie ermöglicht Benutzern einen sicheren Zugriff auf den Server und bietet Schutz vor vergessenen Passwörtern oder Brute-Force-Angriffen. Daher wird empfohlen, diese Methode für eine sichere Serverkonfiguration zu verwenden.