Blogbeitrag

Passwortlose SSH-Anmeldung mit ED25519-Key einrichten

Schritt-für-Schritt-Anleitung für SSH-Login ohne Passwort: Key erstellen, Public Key auf dem Linux-Server hinterlegen und Anmeldung testen.

20. June 2026
Beitragsbild<p><strong>Kurzbeschreibung:</strong> Eine einfache Anleitung, wie man sich von einem Windows-PC oder Laptop ohne Passwort per SSH auf einem Linux-Server anmeldet. Statt eines Passworts wird ein SSH-Schlüsselpaar genutzt.</p>
<hr>
<h2>Warum SSH ohne Passwort?</h2>
<p>Eine passwortlose SSH-Anmeldung ist praktisch und sicher, wenn sie richtig eingerichtet wird. Statt bei jeder Verbindung ein Passwort einzugeben, authentifiziert sich der PC mit einem privaten Schlüssel. Auf dem Linux-Server wird dazu nur der passende öffentliche Schlüssel hinterlegt.</p>
<p>Der private Schlüssel bleibt immer auf dem eigenen PC oder Laptop. Der öffentliche Schlüssel darf auf den Server kopiert werden.</p>
<hr>
<h2>1. SSH-Key auf dem PC oder Laptop erstellen</h2>
<p>Auf dem PC oder Laptop, von dem aus später die SSH-Verbindung aufgebaut werden soll, wird zuerst ein neuer SSH-Key erstellt.</p>
<p>Unter Windows kann dafür PowerShell oder Windows Terminal verwendet werden:</p>
<pre><code>
ssh-keygen -t ed25519 -C &quot;PC-Name&quot;

</code></pre>
<p><code>PC-Name</code> kann durch einen sinnvollen Namen ersetzt werden, zum Beispiel:</p>
<pre><code>
ssh-keygen -t ed25519 -C &quot;Laptop-Julius&quot;

</code></pre>
<p>Danach fragt <code>ssh-keygen</code> nach dem Speicherort und optional nach einer Passphrase.</p>
<p>Für eine einfache Anmeldung kann man die Standardwerte übernehmen:</p>
<pre><code>
Enter file in which to save the key: [Enter]

Enter passphrase: [Enter]

Enter same passphrase again: [Enter]

</code></pre>
<p>Dadurch werden normalerweise zwei Dateien erstellt:</p>
<pre><code>
C:\Users\Benutzer\.ssh\id_ed25519

C:\Users\Benutzer\.ssh\id_ed25519.pub

</code></pre>
<p>Wichtig:</p>
<ul>
<li><code>id_ed25519</code> ist der private Schlüssel und bleibt auf dem PC.</li>
<li><code>id_ed25519.pub</code> ist der öffentliche Schlüssel und wird auf dem Server eingetragen.</li>
</ul>
<hr>
<h2>2. Öffentlichen Schlüssel kopieren</h2>
<p>Jetzt wird die Datei <code>id_ed25519.pub</code> geöffnet.</p>
<p>Der Inhalt sieht ungefähr so aus:</p>
<pre><code>
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... Laptop-Julius

</code></pre>
<p>Diese komplette Zeile wird kopiert.</p>
<hr>
<h2>3. Auf dem Linux-Server anmelden</h2>
<p>Nun meldet man sich einmalig noch mit dem bisherigen Passwort am Linux-Server an:</p>
<pre><code>
ssh benutzer@server-ip

</code></pre>
<p>Beispiel:</p>
<pre><code>
ssh julius@192.168.1.10

</code></pre>
<hr>
<h2>4. SSH-Server für Public-Key-Login prüfen</h2>
<p>Auf dem Linux-Server wird die SSH-Konfiguration geöffnet:</p>
<pre><code>
sudo nano /etc/ssh/sshd_config

</code></pre>
<p>Dort sollten folgende Einstellungen vorhanden sein:</p>
<pre><code>
PubkeyAuthentication yes

AuthorizedKeysFile %h/.ssh/authorized_keys

</code></pre>
<p>Falls die Zeilen mit <code>#</code> auskommentiert sind, kann das <code>#</code> entfernt werden.</p>
<p>Danach speichern und schließen:</p>
<pre><code>
Strg + O

Enter

Strg + X

</code></pre>
<hr>
<h2>5. Ordner und Datei für SSH-Keys vorbereiten</h2>
<p>Auf dem Linux-Server muss der <code>.ssh</code>-Ordner im Home-Verzeichnis des Benutzers existieren.</p>
<pre><code>
mkdir -p ~/.ssh

chmod 700 ~/.ssh

</code></pre>
<p>Danach wird der öffentliche Schlüssel in die Datei <code>authorized_keys</code> geschrieben.</p>
<p>Dafür wird die vorher kopierte Zeile aus <code>id_ed25519.pub</code> eingefügt:</p>
<pre><code>
echo &quot;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... Laptop-Julius&quot; &gt;&gt; ~/.ssh/authorized_keys

</code></pre>
<p>Anschließend die Rechte setzen:</p>
<pre><code>
chmod 600 ~/.ssh/authorized_keys

</code></pre>
<p>Wichtig: In den <code>echo</code>-Befehl gehört der eigene öffentliche Schlüssel, nicht der Beispiel-Key aus dieser Anleitung.</p>
<hr>
<h2>6. SSH-Dienst neu starten</h2>
<p>Damit die SSH-Konfiguration sicher neu geladen wird, wird der SSH-Dienst neu gestartet:</p>
<pre><code>
sudo systemctl restart ssh

</code></pre>
<p>Auf manchen Distributionen heißt der Dienst <code>sshd</code>:</p>
<pre><code>
sudo systemctl restart sshd

</code></pre>
<hr>
<h2>7. Neue Anmeldung testen</h2>
<p>Jetzt die bestehende SSH-Sitzung verlassen:</p>
<pre><code>
exit

</code></pre>
<p>Danach erneut verbinden:</p>
<pre><code>
ssh benutzer@server-ip

</code></pre>
<p>Wenn alles passt, sollte die Anmeldung jetzt ohne Passwortabfrage funktionieren.</p>
<hr>
<h2>Optional: bestimmten Key angeben</h2>
<p>Falls mehrere SSH-Keys vorhanden sind, kann man den gewünschten Key direkt angeben:</p>
<pre><code>
ssh -i C:\Users\Benutzer\.ssh\id_ed25519 benutzer@server-ip

</code></pre>
<p>Unter Linux oder macOS wäre der Pfad typischerweise:</p>
<pre><code>
ssh -i ~/.ssh/id_ed25519 benutzer@server-ip

</code></pre>
<hr>
<h2>Kurze Checkliste</h2>
<ul>
<li>SSH-Key mit <code>ssh-keygen -t ed25519</code> erstellt</li>
<li>Inhalt von <code>id_ed25519.pub</code> kopiert</li>
<li>Auf dem Linux-Server <code>~/.ssh</code> erstellt</li>
<li>Public Key in <code>~/.ssh/authorized_keys</code> eingefügt</li>
<li>Rechte gesetzt: <code>700</code> für <code>.ssh</code>, <code>600</code> für <code>authorized_keys</code></li>
<li>SSH-Dienst neu gestartet</li>
<li>Neue SSH-Anmeldung getestet</li>
</ul>
<hr>
<h2>Typische Fehler</h2>
<h3>Es wird trotzdem ein Passwort abgefragt</h3>
<p>Dann prüfen:</p>
<pre><code>
cat ~/.ssh/authorized_keys

</code></pre>
<p>Der öffentliche Schlüssel muss dort vollständig in einer Zeile stehen.</p>
<p>Außerdem die Rechte prüfen:</p>
<pre><code>
ls -ld ~/.ssh

ls -l ~/.ssh/authorized_keys

</code></pre>
<p>Empfohlen:</p>
<pre><code>
~/.ssh 700

~/.ssh/authorized_keys 600

</code></pre>
<h3>Permission denied</h3>
<p>Dann wurde wahrscheinlich der falsche Benutzer verwendet oder der Schlüssel liegt im falschen Home-Verzeichnis.</p>
<p>Beispiel: Wenn man sich mit <code>ssh admin@server</code> anmeldet, muss der Key unter <code>/home/admin/.ssh/authorized_keys</code> liegen.</p>
<hr>
<h2>Fazit</h2>
<p>Mit einem ED25519-SSH-Key lässt sich die Anmeldung an Linux-Servern komfortabel und sicher einrichten. Wichtig ist, dass der private Schlüssel auf dem eigenen PC bleibt und auf dem Server nur der öffentliche Schlüssel in <code>authorized_keys</code> eingetragen wird.</p>

← Zurück zum Blog