Files
local-ci-cd-system/docs/Setup-GiteaSSH.md
T
Simone 97ec820ebb ci: rename build-nsInnoUnp.yml -> build-ns7zip.yml; update doc refs
Workflow now targets Simone/nsis-plugin-ns7zip. Renamed the file and
the workflow `name:`, and updated all references in active docs
(plans/archived and docs/archived left as frozen history).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 20:12:25 +02:00

102 lines
2.4 KiB
Markdown

# Configurazione accesso SSH a Gitea
**Target**: clone da `git@gitea.emulab.it:Simone/nsis-plugin-ns7zip.git`
**Gitea**: `http://10.10.20.11:3100` / `https://gitea.emulab.it`
---
## 1. Genera la chiave SSH sull'host Windows
```powershell
# Da PowerShell normale (non admin necessario)
ssh-keygen -t ed25519 -C "ci-build@WS1-W11" -f "$env:USERPROFILE\.ssh\id_ci_gitea"
```
- Passphrase: **lascia vuota** (il CI gira non-interattivo)
- Produce due file:
- `~\.ssh\id_ci_gitea` — chiave privata (non condividere mai)
- `~\.ssh\id_ci_gitea.pub` — chiave pubblica da aggiungere a Gitea
---
## 2. Aggiungi la chiave pubblica a Gitea
1. Apri `http://10.10.20.11:3100` → Login come **Simone**
2. Menu utente (in alto a destra) → **Settings****SSH / GPG Keys**
3. Clicca **Add Key**
4. Incolla il contenuto di `~\.ssh\id_ci_gitea.pub`:
```powershell
Get-Content "$env:USERPROFILE\.ssh\id_ci_gitea.pub" | clip
```
5. **Key Name**: `WS1-CI-Host`
6. Salva → **Add Key**
---
## 3. Configura SSH client sull'host
> **Attenzione**: `10.10.20.11` è già usato nel file `~\.ssh\config` con `User root` (entry `HomeAssistant`).
> Non usare `Host 10.10.20.11` direttamente — usare un alias dedicato `gitea-ci`.
Aggiungi in fondo a `~\.ssh\config`:
```powershell
$entry = @"
Host gitea-ci
HostName 10.10.20.11
Port 2222
User git
IdentityFile $env:USERPROFILE\.ssh\id_ci_gitea
IdentitiesOnly yes
"@
Add-Content "$env:USERPROFILE\.ssh\config" $entry
```
---
## 4. Verifica connessione
```powershell
ssh -T gitea-ci
```
Risposta attesa:
```
Hi there, Simone! You've successfully authenticated with the key named ci-build@WS1-W11, but Gitea does not provide shell access.
```
> **Nota**: exit code 1 è **normale** — Gitea non fornisce shell, ma l'autenticazione è avvenuta.
---
## 5. ~~Trova la porta SSH di Gitea~~
**Porta confermata: 2222** (verificata con `Test-NetConnection -ComputerName 10.10.20.11 -Port 2222`).
---
## 6. URL SSH da usare in Invoke-CIJob.ps1
Usare l'alias `gitea-ci` definito in `~\.ssh\config`:
```powershell
-RepoUrl 'ssh://gitea-ci/Simone/nsis-plugin-ns7zip.git'
```
Oppure con IP/porta espliciti (equivalente):
```powershell
-RepoUrl 'ssh://git@10.10.20.11:2222/Simone/nsis-plugin-ns7zip.git'
```
---
## 7. Aggiungi host a known_hosts (evita prompt interattivo)
```powershell
ssh-keyscan -p 2222 10.10.20.11 >> "$env:USERPROFILE\.ssh\known_hosts"
```