From 131b30f9b0315205f7b3f25a638222403c44aadc Mon Sep 17 00:00:00 2001 From: nicolas Date: Mon, 17 Aug 2026 23:28:25 +0200 Subject: [PATCH] README: Deploy-Key statt HTTPS-Clone auf der VM Das Repo ist privat, ein HTTPS-Clone auf dem Server wuerde interaktiv nach Zugangsdaten fragen. Stattdessen ein repo-eigener Deploy-Key mit Nur-Lese- Rechten und ein eigener Host-Alias, damit der Key nicht bei anderen GitHub-Repos angeboten wird. Co-Authored-By: Claude Opus 5 --- README.md | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c62ea1a..79f5477 100644 --- a/README.md +++ b/README.md @@ -99,10 +99,44 @@ sudo usermod -aG docker $USER Danach einmal neu einloggen. -### 4. Starten +### 4. Deploy-Key einrichten + +Das Repo ist privat, ein HTTPS-Clone auf der VM würde also nach Zugangsdaten +fragen. Stattdessen bekommt die VM einen eigenen Deploy-Key mit **Nur-Lese-Rechten**: ```bash -git clone https://github.com/nizzgruber/djnizz_website.git +ssh-keygen -t ed25519 -C "djnizz-vm-deploy" -f ~/.ssh/djnizz_deploy -N "" +cat ~/.ssh/djnizz_deploy.pub +``` + +Den ausgegebenen Public Key in GitHub unter **Repo → Settings → Deploy keys → +Add deploy key** eintragen und *Allow write access* **nicht** anhaken. + +Anschließend einen eigenen Host-Alias anlegen – bewusst nicht `Host github.com`, +sonst würde dieser Key auch bei allen anderen GitHub-Repos angeboten und dort +scheitern: + +```bash +cat >> ~/.ssh/config <<'EOF' + +Host github-djnizz + HostName github.com + User git + IdentityFile ~/.ssh/djnizz_deploy + IdentitiesOnly yes +EOF +chmod 600 ~/.ssh/config +ssh -T git@github-djnizz +``` + +Die letzte Zeile muss mit `Hi nizzgruber/djnizz_website! You've successfully +authenticated` antworten. Dass GitHub danach „does not provide shell access" +meldet, ist normal und kein Fehler. + +### 5. Starten + +```bash +git clone git@github-djnizz:nizzgruber/djnizz_website.git cd djnizz_website docker compose up -d --build ```