SSH-Keys einrichten: Sichere Server-Authentifizierung | Enjyn Gruppe
Hallo Welt
Hallo Welt
Original Lingva Deutsch
Übersetzung wird vorbereitet...
Dieser Vorgang kann bis zu 60 Sekunden dauern.
Diese Seite wird erstmalig übersetzt und dann für alle Besucher gespeichert.
0%
DE Zurück zu Deutsch
Übersetzung durch Lingva Translate

241 Dokumentationen verfügbar

Wissensdatenbank

SSH Keys Einrichten Anleitung

Zuletzt aktualisiert: 11.01.2026 um 10:22 Uhr

SSH-Keys einrichten: Sichere Server-Authentifizierung

SSH-Keys bieten eine sicherere Alternative zur Passwort-Authentifizierung. Sie bestehen aus einem Schlüsselpaar: einem privaten Schlüssel (bleibt bei Ihnen) und einem öffentlichen Schlüssel (liegt auf dem Server). Diese Anleitung zeigt, wie Sie SSH-Keys erstellen und verwenden.

Warum SSH-Keys?

  • Sicherer: Praktisch unmöglich zu erraten oder per Brute-Force zu knacken
  • Bequemer: Kein Passwort bei jedem Login eingeben
  • Automatisierung: Skripte können sich ohne Passwort verbinden
  • Audit: Jeder Key ist eindeutig zuordenbar

SSH-Keys erstellen

Linux und macOS

# Ed25519 (modern, empfohlen)
ssh-keygen -t ed25519 -C "ihr@email.de"

# Oder RSA (älterer Standard, breiter kompatibel)
ssh-keygen -t rsa -b 4096 -C "ihr@email.de"

Sie werden gefragt:

Enter file in which to save the key (/home/user/.ssh/id_ed25519): [Enter drücken für Standard]
Enter passphrase (empty for no passphrase): [Passphrase eingeben - empfohlen!]
Enter same passphrase again: [Wiederholen]
💡 Tipp: Eine Passphrase schützt Ihren privaten Schlüssel, falls jemand Zugriff auf Ihren Computer erhält. Mit ssh-agent müssen Sie sie nicht bei jeder Verbindung eingeben.

Windows (PowerShell oder Git Bash)

# In PowerShell (Windows 10/11)
ssh-keygen -t ed25519 -C "ihr@email.de"

# Oder in Git Bash
ssh-keygen -t ed25519 -C "ihr@email.de"

Ergebnis

Nach der Erstellung haben Sie zwei Dateien:

Datei Beschreibung Teilen?
~/.ssh/id_ed25519 Privater Schlüssel ❌ NIEMALS teilen!
~/.ssh/id_ed25519.pub Öffentlicher Schlüssel ✅ Auf Server kopieren

Öffentlichen Schlüssel anzeigen

# Öffentlichen Schlüssel ausgeben
cat ~/.ssh/id_ed25519.pub

# Ausgabe sieht so aus:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB... ihr@email.de

SSH-Key auf Server kopieren

Methode 1: ssh-copy-id (Einfachste)

# Automatisch auf Server kopieren
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server.example.com

# Bei anderem Port
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 user@server.example.com

Methode 2: Manuell kopieren

# 1. Public Key anzeigen und kopieren
cat ~/.ssh/id_ed25519.pub

# 2. Auf Server verbinden (noch mit Passwort)
ssh user@server.example.com

# 3. authorized_keys Datei erstellen/bearbeiten
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys

# 4. Public Key einfügen und speichern

# 5. Berechtigungen setzen
chmod 600 ~/.ssh/authorized_keys

Methode 3: Mit einem Befehl

cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

SSH-Verbindung testen

# Verbindung ohne Passwort
ssh user@server.example.com

# Mit Debug-Ausgabe bei Problemen
ssh -v user@server.example.com

SSH-Agent verwenden

Der SSH-Agent speichert Ihre Passphrase im Speicher:

Linux/macOS

# Agent starten
eval "$(ssh-agent -s)"

# Schlüssel hinzufügen
ssh-add ~/.ssh/id_ed25519

# Gespeicherte Schlüssel anzeigen
ssh-add -l

Automatisch bei Login (in ~/.bashrc oder ~/.zshrc)

# SSH-Agent automatisch starten
if [ -z "$SSH_AUTH_SOCK" ]; then
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
fi

SSH-Config für einfachere Verbindungen

Erstellen Sie ~/.ssh/config:

# Webserver
Host webserver
    HostName server.example.com
    User deploy
    Port 22
    IdentityFile ~/.ssh/id_ed25519

# Entwicklungsserver
Host dev
    HostName dev.example.com
    User developer
    Port 2222
    IdentityFile ~/.ssh/id_dev

# GitHub
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_github

# Standardeinstellungen für alle
Host *
    AddKeysToAgent yes
    IdentitiesOnly yes
    ServerAliveInterval 60

Dann können Sie sich einfach verbinden:

ssh webserver
ssh dev

Server absichern: Passwort-Login deaktivieren

⚠️ Wichtig: Stellen Sie VORHER sicher, dass der SSH-Key funktioniert! Sonst sperren Sie sich aus.
# /etc/ssh/sshd_config bearbeiten
sudo nano /etc/ssh/sshd_config

# Diese Zeilen setzen:
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM no

# SSH neu starten
sudo systemctl restart sshd

Mehrere Keys verwalten

# Verschiedene Keys für verschiedene Zwecke
ssh-keygen -t ed25519 -f ~/.ssh/id_work -C "work@company.com"
ssh-keygen -t ed25519 -f ~/.ssh/id_personal -C "personal@email.de"
ssh-keygen -t ed25519 -f ~/.ssh/id_github -C "github@email.de"

# In ~/.ssh/config den richtigen Key zuweisen
Host work-server
    IdentityFile ~/.ssh/id_work

Host personal-server
    IdentityFile ~/.ssh/id_personal

Häufige Probleme

Problem Ursache Lösung
Permission denied (publickey) Key nicht auf Server oder falsche Berechtigungen authorized_keys prüfen, chmod 600
Agent has no identities Key nicht im Agent ssh-add ~/.ssh/id_ed25519
Bad permissions Private Key zu offen chmod 600 ~/.ssh/id_ed25519
Connection refused SSH nicht aktiv oder falscher Port Port prüfen, SSH-Dienst starten

Sicherheits-Best-Practices

  1. Passphrase verwenden: Schützt bei Diebstahl des Schlüssels
  2. Ed25519 bevorzugen: Moderner und sicherer als RSA
  3. Verschiedene Keys: Separater Key pro Dienst/Server
  4. Private Key schützen: Niemals teilen, chmod 600
  5. Passwort-Login deaktivieren: Nach Key-Setup auf Server
  6. Regelmäßig rotieren: Keys alle 1-2 Jahre erneuern

Weitere Hilfe

Enjix Beta

Enjyn AI Agent

Hallo 👋 Ich bin Enjix — wie kann ich dir helfen?
120