Aller au contenu principal

Se connecter à fremforge

La plupart des organisations fremforge n’autorisent par défaut que l’accès Git en HTTPS (SSH est désactivé au niveau de la politique d’organisation depuis le 2026-05-22) : consultez le guide de connexion sécurisée pour la configuration recommandée HTTPS + Git Credential Manager. La suite de cette page s’applique lorsque l’administrateur de votre organisation a explicitement réactivé SSH dans <your-org>/_admin/auth-policy/. Le parcours SSH existe toujours ; il n’est simplement plus celui par défaut.

Avant de pousser du code ou de récupérer des dépôts en SSH, votre client SSH vous demandera de confirmer l’identité du serveur. Les sections ci-dessous expliquent ce qu’il faut vérifier et comment configurer SSH sur les réseaux qui bloquent le port 22.

Ajouter une clé SSH

Créez une clé sur votre propre machine et donnez-en la partie publique à fremforge :

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

Collez la ligne qui commence par ssh-ed25519 dans Paramètres utilisateur → Clés SSH / GPG et choisissez Ajouter une clé. Si votre organisation a désactivé SSH, Git en SSH est refusé quelle que soit la clé ajoutée ; utilisez plutôt HTTPS avec un jeton d’accès Git.

Vérifier la clé d’hôte

Lors de la première connexion, votre client SSH vous demande de confirmer l’empreinte de la clé d’hôte du serveur. Avant de l’accepter, vérifiez qu’elle correspond aux valeurs publiées sur frem.sh/ssh-fingerprints.

N’acceptez pas une empreinte qui ne figure pas sur cette page.

Vérification lors de la première connexion

Le port 22 n’est pas exposé. fremforge sert SSH sur le port 443 via le nom d’hôte ssh.frem.sh ; consultez l’alias d’hôte ci-dessous pour la configuration ~/.ssh/config de référence, à faire une fois pour toutes, qui vous permet de continuer à écrire git@frem.sh dans vos remotes git.

  1. Lancez le test d’authentification (il fonctionne sans aucune modification de ~/.ssh/config) :
ssh -T -p 443 git@ssh.frem.sh
  1. Votre terminal affiche une sortie de ce type :
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. Comparez l’empreinte affichée avec les valeurs publiées sur https://www.frem.sh/ssh-fingerprints/. Si elles correspondent, tapez yes.

  2. SSH enregistre la clé acceptée dans ~/.ssh/known_hosts. Lors de toutes les connexions suivantes, il la vérifie sans rien demander. Plus aucune question, sauf si la clé change.

  3. En cas de succès, vous voyez :

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

Si vous voyez plutôt Permission denied (publickey), soit votre clé n’a pas été ajoutée à votre compte, soit ce n’est pas la bonne clé qui est présentée. Consultez Prise en main pour la configuration des clés.

Vérifier known_hosts manuellement

Pour voir quelle clé SSH a enregistrée pour ssh.frem.sh :

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

Pour supprimer une clé enregistrée (par exemple si la clé du serveur a légitimement changé et que vous en avez été informé) :

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

Reconnectez-vous ensuite et vérifiez la nouvelle empreinte sur https://www.frem.sh/ssh-fingerprints/ avant de l’accepter.

SSH sur le port 443 (obligatoire, le port 22 n’est pas exposé)

fremforge n’expose pas le port 22 sur frem.sh. SSH est servi sur le port 443 via le nom d’hôte ssh.frem.sh : le même protocole SSH, sur un port que les pare-feu laissent généralement ouvert pour HTTPS. C’est le seul accès SSH, pas une solution de repli.

Configurez votre client SSH pour l’utiliser chaque fois que vous écrivez frem.sh dans un remote git :

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

Avec cette configuration, git clone git@frem.sh:<org>/<repo>.git et toutes les autres opérations Git sur frem.sh passent automatiquement par le port 443. Aucune modification des URL de remote n’est nécessaire.

Testez directement la connexion avant de vous y fier :

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

Les mêmes empreintes de clé d’hôte s’appliquent sur le port 443. Vérifiez-les sur https://www.frem.sh/ssh-fingerprints/ lors de la première utilisation.

HTTPS avec un jeton d’accès Git

Si SSH n’est pas disponible du tout, clonez et poussez en HTTPS :

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

Git vous demande un nom d’utilisateur et un mot de passe. Le mot de passe de votre compte ne fonctionne pas ici : saisissez votre nom d’utilisateur fremforge et un jeton d’accès Git en guise de mot de passe. Si Git répond « Credentials are incorrect or have expired », c’est presque toujours la raison.

Créez le jeton sous Paramètres utilisateur → Jetons d’accès Git. La même page propose l’étape Configurer OAuth pour Git via HTTPS (une seule fois) : Git utilise alors votre connexion fremforge (SSO) au lieu d’un jeton. L’administrateur de votre organisation décide si les jetons personnels sont autorisés, quels scopes vous pouvez choisir et combien de temps ils durent ; si les jetons sont désactivés pour votre organisation, utilisez la configuration OAuth.

Pour éviter des demandes répétées, enregistrez l’identifiant dans l’assistant d’identifiants de Git :

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 sur le port 443 est toujours disponible, indépendamment du port 22 ou de l’accès de repli ssh.frem.sh. C’est la méthode de connexion la plus universellement compatible.

Références croisées