~/.ssh/authorized_keys (kurz authorized_keys) ist die Datei auf dem SSH-Server, die die öffentlichen SSH-Schlüssel der erlaubten Benutzer auflistet. Besitzt der Client den passenden privaten Schlüssel, erlaubt der Server die Anmeldung ohne Passwort — die Grundlage der Public-Key-Authentifizierung.

Aufbau

Jede Zeile enthält genau einen öffentlichen Schlüssel: Schlüsseltyp, Base64-kodierter Schlüssel und optional ein Kommentar (meist benutzer@rechner). Mehrere Benutzer oder Rechner stehen einfach in mehreren Zeilen.

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... benutzer@rechner

Berechtigungen

Die Datei und das Verzeichnis ~/.ssh müssen nur dem eigenen Benutzer gehören. OpenSSH lehnt zu lockere Rechte ab: ~/.ssh mit 700, authorized_keys mit 600. Der Client-Schlüssel (privat) gehört ebenfalls dem Benutzer (600).

Befüllen und verwalten

Am einfachsten hinterlegt ssh-copy-id den Schlüssel automatisch. Manuell wird angehängt: cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys. Änderungen sind sofort wirksam — ein Neustart des sshd ist nicht nötig. In /etc/ssh/sshd_config steuert AuthorizedKeysFile den Pfad.

Sicherheit

  • Nur die öffentlichen Schlüssel eintragen — private Schlüssel gehören nie auf den Server.
  • Zusätzliche Optionen am Zeilenanfang erlauben Einschränkungen, z.B. from="192.168.0.0/24" oder command="..." (Forced Command).
  • Für Server mit vielen bekannten Hosts lohnt die Ablage aller Server-Schlüssel in known_hosts.

Verwandte Grundlagen: SSH, ssh-keygen, ssh-copy-id, known_hosts und ssh-keyscan.