docs: update clone instructions for Gitea SSH and HTTPS

This commit is contained in:
god
2026-07-04 11:38:58 +08:00
parent 08a527195f
commit 0786638a98
2 changed files with 54 additions and 40 deletions
+34 -31
View File
@@ -1,43 +1,46 @@
# Cloning from any tailnet machine
# Clone Tekton from Gitea
## Prerequisites
- The remote machine must be on your tailnet (registered + can ping `100.85.x.x`)
- You must have an account on the Gitea instance (`http://git.klud.top`)
- You must have an SSH key on the remote machine (`ssh-keygen` if you don't)
## Step 1: Add your SSH key to Gitea
1. Open `http://git.klud.top/user/settings/keys` in browser
2. Paste the content of `~/.ssh/id_ed25519.pub` (or `id_rsa.pub`)
3. Click "Add Key"
- You have a Gitea account at `https://git.klud.top`.
- For SSH clone: your public SSH key is added at `https://git.klud.top/user/settings/keys`.
## SSH clone (preferred)
Test SSH:
## Step 2: Test SSH reachability
```bash
ssh -T git@thunderobot -p 222
# Expected output: "Hello from Gitea!\n\nPlease come over!"
# If asked about fingerprint, type "yes" and press Enter
ssh -T git@ssh.git.klud.top
```
## Step 3: Clone a repo
```bash
# Using tea CLI
tea repos clone --git-protocol ssh danchie/tekton
Expected output:
# Or plain git
git clone git@thunderobot:222/danchie/tekton.git
```text
Hi there, <yourname>! You've successfully authenticated with the key named <key-title>, but Gitea does not provide shell access.
```
Clone:
```bash
git clone git@ssh.git.klud.top:danchie/tekton.git
```
## HTTPS clone
```bash
git clone https://git.klud.top/danchie/tekton.git
```
Use HTTPS when SSH keys are not available, e.g. CI scripts or temporary machines.
## Tea CLI
```bash
tea repos clone --git-protocol ssh danchie/tekton
```
## Troubleshooting
- `ssh: connect to host thunderobot port 222: Connection refused`
→ Ensure the remote machine has `tailscale ping thunderobot` resolving to `100.93.226.13`
→ Ensure the host's port `222` is reachable from the remote (it's bound to `0.0.0.0:222` in Docker)
- `Permission denied (publickey)`
→ Your SSH key wasn't added via Gitea web UI
→ Run `ssh-add ~/.ssh/id_ed25519` if you use an agent
- `Host key verification failed`
→ Run `ssh -T git@thunderobot -p 222` interactively once to accept the fingerprint
## HTTPS is disabled
`DISABLE_HTTP_GIT = true` is set on the server. All clones MUST use SSH.
If you need to fetch via HTTPS for CI or other non-ssh environments, this must be remapped.
- **`Permission denied (publickey)`** — Your key was not added in Gitea, or your SSH agent has not loaded it. Run `ssh-add ~/.ssh/id_ed25519`.
- **`Host key verification failed`** — Run `ssh -T git@ssh.git.klud.top` interactively once and accept the fingerprint.
- **`Could not resolve hostname ssh.git.klud.top`** — DNS cache stale. Wait a few minutes or flush DNS.