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 <noreply@anthropic.com>
This commit is contained in:
2026-08-17 23:28:25 +02:00
co-authored by Claude Opus 5
parent 074c87ed79
commit 131b30f9b0
+36 -2
View File
@@ -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
```