TOTP for 2FA authentication

Bonjour

L'entrepôt github (et d'autres services en ligne) exigent maintenant une double authentification.

Pour les (la ?) personne(s ?) qui ne dispose(nt ?) pas d'un smartphone, il existe des logiciels qui génèrent un code à usage unique (procédure TOTP si j'ai bien compris). Sur mon Mac j'ai installé l'application OTP Manager, qui me permet de m'identifier sur github.

Par contre cette application ne me permet pas de soumettre des modifications à partir du cluster.
Existe-t-il une solution pour la double authentification à partir d'un terminal Unix, sans nécessiter un smartphone ?

Merci

Jacques

Bonjour Jacques,

Il est possible de se connecter à Github à l'aide d'une clé SSH.
Il suffit de déclarer ta clé SSH publique sur ton profile Github puis de demander à ton client Git d'utiliser la partie privée de cette clé lorsqu'il se connecte à Github.

Tu trouveras toute la documentation ici : Connecting to GitHub with SSH - GitHub Docs

Julien

Merci pour la réponse, @julien

Ceci fonctionne effectivement pour un clone obtenu par ssh mais pas par http.
Les clones du serveur RSAT sur le cluster IFB-core avaient été clonés avec http.
Jusqu'ici j'avais pu soumettre les modifications en http, mais avec le F2A cela ne fonctionnait plus.

J'ai donc reconfiguré le clone pour qu'il accède à github en ssh plutôt qu'http, en modifiant l'origine avec cette commande

git remote set-url origin git@github.com:rsa-tools/rsat-code.git

Ensuite le git push fonctionne à nouveau.

Est-ce qu'il faut adapter les recettes de déploiement ANSIBLE pour que ceci s'applique aux prochaines installations/mises à jour du serveur RSAT ?

Jacques

Une alternative au cas où on est forcé de passer par http (par exemple pour des raisons d'ouverture de ports) : on peut s'identifier à github en ligne de commande en utilisant un token produit par github (après être passé par leur 2FA sur github.com).

  1. S'identifier sur https://github.com/
  2. Settings -> Developer settings -> Personal access tokens -> Tokens (classic) -> Generate new token

Ceci produit un jeton de 40 caractères qui peut être utilisé comme mot de passe en ligne de commande.