Gå til hovedindhold

Forbind til fremforge

De fleste fremforge-organisationer giver som standard kun adgang til Git over HTTPS (SSH har været slået fra i organisationspolitikken siden 2026-05-22) – se vejledningen om sikkert login for den anbefalede opsætning med HTTPS + Git Credential Manager. Siden nedenfor gælder, når din organisationsadministrator udtrykkeligt har slået SSH til igen på <your-org>/_admin/auth-policy/. SSH-vejen findes stadig; den er bare ikke længere standard.

Før du pusher kode eller puller repositories over SSH, beder din SSH-klient dig bekræfte serverens identitet. Afsnittene nedenfor beskriver, hvad du skal kontrollere, og hvordan du sætter SSH op på netværk, der blokerer port 22.

Tilføj en SSH-nøgle

Opret en nøgle på din egen maskine, og giv fremforge den offentlige halvdel:

ssh-keygen -t ed25519 -C "you@example.com"
cat ~/.ssh/id_ed25519.pub

Indsæt linjen, der begynder med ssh-ed25519, under Indstillinger → SSH / GPG nøgler, og vælg Tilføj nøgle. Har din organisation slået SSH fra, afvises Git over SSH, uanset hvilken nøgle du tilføjer; brug i stedet HTTPS med et Git-adgangstoken.

Kontrollér værtsnøglen

Ved den første forbindelse beder din SSH-klient dig bekræfte fingeraftrykket for serverens værtsnøgle. Før du accepterer, skal du kontrollere, at fingeraftrykket svarer til værdierne, der er offentliggjort på frem.sh/ssh-fingerprints.

Acceptér aldrig et fingeraftryk, der ikke står på den side.

Kontrol ved første forbindelse

Port 22 er ikke åben. fremforge leverer SSH på port 443 via værtsnavnet ssh.frem.sh. Se Host-alias-uddraget nedenfor for den kanoniske ~/.ssh/config, du sætter op én gang, så du kan blive ved med at skrive git@frem.sh i dine git-remotes.

  1. Kør godkendelsestesten (virker uden nogen ændring af ~/.ssh/config):
ssh -T -p 443 git@ssh.frem.sh
  1. Din terminal viser noget i stil med:
The authenticity of host '[ssh.frem.sh]:443 ([203.0.113.10]:443)' can't be established.
ED25519 key fingerprint is SHA256:AAAA....
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
  1. Sammenlign det viste fingeraftryk med de offentliggjorte værdier på https://www.frem.sh/ssh-fingerprints/. Stemmer de overens, så skriv yes.

  2. SSH gemmer den accepterede nøgle i ~/.ssh/known_hosts. Ved alle efterfølgende forbindelser kontrolleres den i stilhed. Der kommer ikke flere spørgsmål, medmindre nøglen ændrer sig.

  3. Lykkes det, ser du:

Hi <username>! You've successfully authenticated, but fremforge does not provide shell access.

Ser du i stedet Permission denied (publickey), er din nøgle enten ikke tilføjet til din konto, eller også tilbydes den forkerte nøgle. Se Kom i gang for opsætning af nøgler.

Tjek known_hosts manuelt

Sådan ser du, hvilken nøgle SSH har gemt for ssh.frem.sh:

ssh-keygen -F '[ssh.frem.sh]:443'

Sådan fjerner du en gemt nøgle (for eksempel hvis servernøglen er blevet roteret på legitim vis, og du har fået besked om det):

ssh-keygen -R '[ssh.frem.sh]:443'

Forbind derefter igen, og kontrollér det nye fingeraftryk mod https://www.frem.sh/ssh-fingerprints/, før du accepterer det.

SSH på port 443 (påkrævet, port 22 er ikke åben)

fremforge åbner ikke port 22 på frem.sh. SSH leveres på port 443 via værtsnavnet ssh.frem.sh – den samme SSH-protokol på en port, som firewalls typisk lader stå åben for HTTPS. Det er den eneste SSH-vej, ikke en reserveløsning.

Sæt din SSH-klient op til at bruge den, hver gang du skriver frem.sh i en git-remote:

# ~/.ssh/config
Host frem.sh
    Hostname ssh.frem.sh
    Port 443

Med dette på plads bruger git clone git@frem.sh:<org>/<repo>.git og alle andre Git-handlinger mod frem.sh automatisk port 443. Du behøver ikke ændre nogen remote-URL’er.

Test forbindelsen direkte, før du stoler på den:

ssh -T -p 443 git@ssh.frem.sh
# Hi <username>! You've successfully authenticated, but fremforge does not provide shell access.

De samme fingeraftryk for værtsnøglen gælder på port 443. Kontrollér dem mod https://www.frem.sh/ssh-fingerprints/ første gang.

HTTPS med et Git-adgangstoken

Er SSH slet ikke tilgængelig, så clone og push over HTTPS:

git clone https://frem.sh/<org>/<repo>.git

Git beder om brugernavn og adgangskode. Din kontos adgangskode virker ikke her: Indtast dit fremforge-brugernavn og et Git-adgangstoken som adgangskode. Svarer Git “Credentials are incorrect or have expired”, er det næsten altid årsagen.

Opret tokenet under Indstillinger → Git-adgangstokens. Samme side viser også en engangsopsætning, Opsæt OAuth til Git over HTTPS (én gang): Kør den én gang, så bruger Git dit fremforge-login (SSO) i stedet for et token. Din organisations administrator bestemmer, om personlige tokens er tilladt, hvilke scopes du kan vælge, og hvor længe de lever; er tokens slået fra for din organisation, så brug OAuth-opsætningen.

Gem legitimationsoplysningerne i Gits credential helper for at undgå at blive spurgt igen og igen:

git config --global credential.helper osxkeychain   # macOS
git config --global credential.helper manager        # Windows (Git Credential Manager)
git config --global credential.helper store          # Linux (plaintext — use only on trusted machines)

HTTPS over port 443 er altid tilgængelig, uanset port 22 eller reserveløsningen via ssh.frem.sh. Det er den forbindelsesmetode, der virker de fleste steder.

Krydsreferencer