Naar de hoofdinhoud

Verbinding maken met fremforge

De meeste fremforge-organisaties gebruiken standaard alleen HTTPS voor Git (SSH staat sinds 2026-05-22 uit op het niveau van het organisatiebeleid); zie de handleiding voor veilig inloggen voor de aanbevolen inrichting met HTTPS + Git Credential Manager. Deze pagina geldt als de beheerder van je organisatie SSH uitdrukkelijk weer heeft aangezet op <your-org>/_admin/auth-policy/. De SSH-route bestaat nog; ze is alleen niet langer de standaard.

Voordat je via SSH code pusht of repository’s ophaalt, vraagt je SSH-client je de identiteit van de server te bevestigen. Hieronder lees je wat je moet controleren en hoe je SSH instelt voor netwerken die poort 22 blokkeren.

Een SSH-sleutel toevoegen

Maak op je eigen machine een sleutel aan en geef fremforge het publieke deel:

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

Plak de regel die begint met ssh-ed25519 onder Instellingen → SSH / GPG sleutels en kies Sleutel toevoegen. Heeft je organisatie SSH uitgeschakeld, dan wordt Git via SSH geweigerd, welke sleutel je ook toevoegt; gebruik dan HTTPS met een Git-toegangstoken.

De hostsleutel verifiëren

Bij de eerste verbinding vraagt je SSH-client je de vingerafdruk van de hostsleutel van de server te bevestigen. Controleer vóór het accepteren of de vingerafdruk overeenkomt met de waarden die zijn gepubliceerd op frem.sh/ssh-fingerprints.

Accepteer geen vingerafdruk die niet op die pagina staat.

Verificatie bij de eerste verbinding

Poort 22 is niet opengesteld. fremforge biedt SSH aan op poort 443 via de hostnaam ssh.frem.sh; zie het fragment met de host-alias hieronder voor de canonieke ~/.ssh/config, die je één keer instelt en waarmee je git@frem.sh in je git-remotes kunt blijven gebruiken.

  1. Voer de authenticatietest uit (werkt zonder wijziging in ~/.ssh/config):
ssh -T -p 443 git@ssh.frem.sh
  1. Je terminal toont uitvoer zoals:
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. Vergelijk de getoonde vingerafdruk met de gepubliceerde waarden op https://www.frem.sh/ssh-fingerprints/. Komen ze overeen, typ dan yes.

  2. SSH schrijft de geaccepteerde sleutel naar ~/.ssh/known_hosts. Bij alle volgende verbindingen verifieert het stil. Er volgen geen vragen meer, tenzij de sleutel verandert.

  3. Bij succes zie je:

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

Zie je in plaats daarvan Permission denied (publickey), dan is je sleutel niet aan je account toegevoegd of wordt de verkeerde sleutel aangeboden. Zie Aan de slag voor het instellen van sleutels.

known_hosts handmatig controleren

Bekijken welke sleutel SSH voor ssh.frem.sh heeft opgeslagen:

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

Een opgeslagen sleutel verwijderen (bijvoorbeeld als de serversleutel legitiem is geroteerd en je daarover bent ingelicht):

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

Maak daarna opnieuw verbinding en controleer de nieuwe vingerafdruk tegen https://www.frem.sh/ssh-fingerprints/ voordat je hem accepteert.

SSH op poort 443 (verplicht, poort 22 is niet opengesteld)

fremforge stelt poort 22 op frem.sh niet open. SSH wordt aangeboden op poort 443 via de hostnaam ssh.frem.sh: hetzelfde SSH-protocol, op een poort die firewalls voor HTTPS doorgaans openlaten. Dit is de enige SSH-route, geen uitweg.

Stel je SSH-client zo in dat hij deze route gebruikt telkens als je frem.sh in een git-remote schrijft:

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

Hiermee gebruiken git clone git@frem.sh:<org>/<repo>.git en alle andere Git-bewerkingen op frem.sh automatisch poort 443. De remote-URL’s hoeven niet te veranderen.

Test de verbinding rechtstreeks voordat je erop vertrouwt:

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

Op poort 443 gelden dezelfde vingerafdrukken van de hostsleutels. Controleer ze bij het eerste gebruik tegen https://www.frem.sh/ssh-fingerprints/.

HTTPS met een Git-toegangstoken

Is SSH helemaal niet beschikbaar, clone en push dan via HTTPS:

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

Git vraagt om een gebruikersnaam en wachtwoord. Je accountwachtwoord werkt hier niet: vul je fremforge-gebruikersnaam in en een Git-toegangstoken als wachtwoord. Antwoordt Git met “Credentials are incorrect or have expired”, dan is dit vrijwel altijd de oorzaak.

Maak het token aan onder Instellingen → Git-toegangstokens. Op dezelfde pagina staat de eenmalige stap OAuth voor Git via HTTPS instellen: voer die één keer uit, dan gebruikt Git je fremforge-inlog (SSO) in plaats van een token. De beheerder van je organisatie bepaalt of persoonlijke tokens zijn toegestaan, welke scopes je kunt kiezen en hoe lang ze geldig zijn; zijn tokens voor je organisatie uitgeschakeld, gebruik dan de OAuth-inrichting.

Sla de inloggegevens op in de credential helper van Git om herhaalde vragen te voorkomen:

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 via poort 443 is altijd beschikbaar, ongeacht poort 22 of de uitweg via ssh.frem.sh. Het is de verbindingsmethode die het breedst compatibel is.

Zie ook