# SSH Setup — Linux ## Generate an SSH key Open a terminal and run: ```bash ssh-keygen -t ed25519 -C "your-name@example.com" ``` Press Enter to accept the default path `/home//.ssh/id_ed25519`. Use a passphrase for extra safety. ## Add the public key to Gitea ```bash cat ~/.ssh/id_ed25519.pub ``` Copy the full output, then open `http://git.klud.top/user/settings/keys` in your browser and paste it. Title: `linux-`. ## Accept the server fingerprint and test ```bash ssh -T git@thunderobot -p 222 ``` - If asked `Are you sure you want to continue connecting (yes/no/[fingerprint])?`, type `yes`. - Expected output: `Hi there, ! You've successfully authenticated with the key named linux-, but Gitea does not provide shell access.` ## Clone a repo ```bash git clone git@thunderobot:222/danchie/tekton.git ``` Or with tea: ```bash tea repos clone --git-protocol ssh danchie/tekton ``` ## Troubleshooting - **`Permission denied (publickey)`** — Your key wasn't added in the Gitea UI, or the agent hasn't loaded it. Run `ssh-add ~/.ssh/id_ed25519`. - **`Host key verification failed`** — Run the `ssh -T` command above interactively at least once. - **`ssh: connect to host thunderobot port 222: Connection refused`** — Ensure Tailscale is running and you can reach `100.93.226.13`. - **`ssh: Could not resolve hostname thunderobot`** — Run `tailscale ping thunderobot` to verify tailnet DNS works. If not, use `ssh -T git@100.93.226.13 -p 222` instead.