From f3f17eebab7d603f61eabb8a02c528031899c8c2 Mon Sep 17 00:00:00 2001 From: asm_x86 <97343417+x86-assembly@users.noreply.github.com> Date: Fri, 24 Oct 2025 22:28:00 +0000 Subject: [PATCH] Kleine verbesserung zu ssh-grundlagen Signed-off-by: asm_x86 <97343417+x86-assembly@users.noreply.github.com> --- rootserver/ssh-grundlagen.md | 78 +++++++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 9 deletions(-) diff --git a/rootserver/ssh-grundlagen.md b/rootserver/ssh-grundlagen.md index 352f264..f632042 100644 --- a/rootserver/ssh-grundlagen.md +++ b/rootserver/ssh-grundlagen.md @@ -15,25 +15,85 @@ Wenn du einen Rootserver bei mc-host24 nutzt, kannst du mit `ssh root@/.ssh` gespeichert. -Um diese SSH Keys tatsächlich nutzen zu können muss der sogenannte public key (erkennbar an der Endung `.pub`) zuerst auf den Server kopiert werden. + +Um z. B. einen SSH-Key des Typs `rsa` zu erstellen, führe Folgendes aus: +```bash +ssh-keygen -t rsa +``` +Beim Erstellen können alle Fragen einfach durch mehrmaliges Enter übersprungen werden. +Letztendlich wird die Ausgabe etwa so aussehen: +``` +Generating public/private rsa key pair. +Enter file in which to save the key (C:\Users\NUTZER/.ssh/id_rsa): +Enter passphrase (empty for no passphrase): +Enter same passphrase again: +Your identification has been saved in C:\Users\NUTZER/.ssh/id_rsa +Your public key has been saved in C:\Users\BENUTZER/.ssh/id_rsa.pub +The key fingerprint is: +SHA256:xtfYMWr37hjNlpqEvEcVCRvQbvjncasYwmcssKyqXHM NUTZER@windows-dell-xe016 +The key's randomart image is: ++---[RSA 3072]----+ +| .oo. . | +| .oo | +| o+ . | +| . .=oo. | +| .S =o+. | +| ..++.oo+o..| +| o E o +o*oo*o.| +|. . o . =o+B.. | +| o.... .o+o+ | ++----[SHA256]-----+ +``` +Dies erstellt anschließend zwei Dateien unter `C:/Users//.ssh`: +- `id_rsa` ist dein "private key", diesen solltest du unter keinen Umständen weitergeben +- `id_rsa.pub` ist dein "public key", mit dieser Datei kann verifiziert werden, dass du im Besitz des private keys bist, ohne dass du deinen private key herausgeben musst +Die SSH-Keys werden anschließend in `C:/Users//.ssh` gespeichert. +Um diese SSH-Keys tatsächlich nutzen zu können, muss der sogenannte public key (erkennbar an der Endung `.pub`) zuerst auf den Server kopiert werden. Dies kann man mit einem Tool namens `scp` erledigen: ```bash -scp C:/Users//.ssh/id_rsa.pub @:~/.ssh +scp C:/Users//.ssh/id_rsa.pub @:~/.ssh/authorized_keys ``` Nun sollte man sich mit ```bash -ssh @ -``` -zum Server verbinden können ohne sein Passwort zu nutzen. +ssh @ +``` +zum Server verbinden können, ohne sein Passwort zu nutzen. {% hint style="danger" %} Auf keinen Fall den Private Key (`id_rsa`) weitergeben! **Der Schlüssel hat kein Passwort oder zusätzliche Sicherheitsmaßnahmen. Jeder mit dem Private Key kann auf euren Server zugreifen!** {% endhint %} +### Häufige Fehler +#### No such file or directory bei scp +``` +scp: dest open ".ssh/authorized_keys": No such file or directory +scp: failed to upload file ./a.pub to ~/.ssh/authorized_keys +``` +**Lösung**: +Verbinde dich mit dem Server +```bash +ssh @ +``` +und erstelle das `.ssh` Verzeichnis: +``` +mkdir ~/.ssh +chmod 700 ~/.ssh +``` +Führe anschließend den `scp` Befehl erneut aus + +#### Ich habe den Schlüssel hochgeladen, werde aber immer noch nach einem Passwort gefragt + +Stelle sicher, dass: +- Die lokale Schlüsseldatei unter `C:\USERS\\.ssh\id_rsa` gespeichert ist, mit `-i ` angegeben ist, oder ein Server-Alias mit einem `IdentityFile` benutzt wird +- Die `authorized_keys` die korrekten Berechtigungen hat: + Führe dafür Folgendes auf deinem Server aus: + ```bash + chmod 600 ~/.ssh/authorized_keys + ``` + ## Server-Alias -Um nicht jedes Mal die IP-Adresse des Servers eintippen zu müssen kann man sich auch einen alternativen Namen festlegen. -Diesen kann man festlegen in dem man die Datei `C:/Users//.ssh/config` editiert (falls die Datei nicht vorhanden ist einfach selbst erstellen): +Um nicht jedes Mal die IP-Adresse des Servers eintippen zu müssen, kann man sich auch einen alternativen Namen festlegen. +Diesen kann man festlegen, indem man die Datei `C:/Users//.ssh/config` editiert (falls die Datei nicht vorhanden ist, einfach selbst erstellen): ``` Host HostName @@ -44,5 +104,5 @@ ssh @ ``` ## Weitere Ressourcen zum Thema SSH -[CCC: Besser leben mit SSH](https://media.ccc.de/v/gpn20-8-besser-leben-mit-ssh) - Interessanter Vortrag mit einigen Tips zu SSH +[CCC: Besser leben mit SSH](https://media.ccc.de/v/gpn20-8-besser-leben-mit-ssh) - Interessanter Vortrag mit einigen Tipps zu SSH [Wikipedia](https://de.wikipedia.org/wiki/Secure_Shell) - Erklärt gut die Geschichte und weiteren Funktionen von SSH