~/.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"odercommand="..."(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.