1
votes

Est-il possible d'avoir 2 (ou plus) comptes GitHub, 2 (ou plus) clés ssh dans un ordinateur?

Le truc, c'est que mon frère et moi sommes tous deux engagés dans la programmation et nous venons d'apprendre à propos de GitHub (et des sites de dépôt similaires), mais nous n'avons qu'un seul ordinateur dans la maison, donc ma question est:

Est-il possible que je puisse avoir 2 (ou plus) clés ssh pour 2 (ou plus) comptes GitHub?

Si j'ai 2 comptes sur GitHub et que j'ai créé une clé ssh sur les deux comptes la clé ssh du deuxième compte écrasera-t-elle la clé ssh du premier?


6 commentaires

C'est vraiment possible? Il suffit de connaître un peu votre environnement pour fournir une réponse précise (OS, avez-vous des comptes système différents?).


@GonzaloMatheu OS - utilisant actuellement Windows10, l'ordinateur est entièrement dual boot avec Linux, mais juste pour les débutants, nous nous concentrons uniquement sur Windows pour le moment. je (nous) n'avons pas encore accédé à github sous linux, nous utilisons simplement git bash sous windows


Quel système d'exploitation utilisez-vous? Avez-vous des comptes utilisateurs séparés?


Copie possible de plusieurs comptes Github sur le même ordinateur?


Double possible de plusieurs comptes GitHub et configuration SSH


Veuillez ne pas ajouter «Résolu» au titre ou décrire la solution dans la question. La manière d'indiquer que votre problème est résolu est d'accepter une réponse (ce que vous avez fait). BTW, la solution évidente est d'avoir deux comptes d'utilisateurs distincts sur votre ordinateur, donc chacun de vous a un répertoire $ HOME distinct.


4 Réponses :


0
votes

$HOME/.ssh/config

Host dev
    HostName dev.example.com
    Port 22000
    User fooey
Host github.com
    IdentityFile ~/.ssh/github.key

https: //www.ssh.com/ssh/config/

Sinon, utilisez la même clé ssh pour les deux utilisateurs ...


12 commentaires

Comment l'OP peut-il utiliser cela pour utiliser deux clés différentes pour deux utilisateurs différents sur github?


essais et erreurs ... des hôtes identiques avec des utilisateurs différents peut-être


"essai et erreur" ne semble pas être une réponse bien adaptée pour SO


J'ai fourni un exemple de la façon de configurer le client ssh pour utiliser différents paramètres pour différentes situations, je ne suis pas responsable de ses limitations


celui-ci est accablant pour moi en ce moment, mais quand j'aurai un peu de compréhension à ce sujet, je m'assurerai d'essayer aussi cette option ... merci @Pali


Je pense qu'ils pourraient définir deux surnoms d'hôte github1 et github2 avec des clés différentes mais pour les deux HostName github.com


@theblackips Comment configurer github1 pour utiliser sa clé pour user1 uniquement et github2 utiliser sa clé pour user2 uniquement ?


google simplement ... il y a des tonnes d'exemples pour cette question ... c'est pourquoi je l'ai signalé comme dupliqué


@Pali Je pense que c'est la réponse la plus prometteuse et la plus polyvalente. Cependant, cela semble incomplet car il ne montre pas comment utiliser deux clés distinctes pour le même domaine. S'il s'agit vraiment d'un doublon parce que la question a reçu une réponse ailleurs, nous devrions définitivement clore cela comme une dupe.


okey, après plusieurs essais et erreurs ... je l'ai enfin compris ... maintenant je pouvais comprendre ce code de configuration ... le lien de fil donné vers moi par monsieur @Pali est celui qui le résout ... donc techniquement, je viens de a suivi le didacticiel vidéo donné dans ce fil, qui est le youtube.com/watch?v=fnSRBRiQIU8 et c'est tout ... tout a fonctionné, pas besoin de créer un compte séparé sur Windows OS .. renommez simplement la clé ssh lors de la création et définissez-la sur ce fichier de configuration.


en fait, je devrais modifier mon message et indiquer comment je l'ai fait aussi ... merci beaucoup monsieur @Pali et monsieur Code-Apprentice pour ces efforts en répondant à ma question


@ailia Ne me "monsieur" pas, je travaille pour gagner ma vie = p mais sérieusement, je suis content que vous ayez trouvé une solution qui fonctionne pour vous.



1
votes

J'ai créé une clé ssh sur les deux comptes

Si vous avez suivi la documentation GitHub, vous devriez avoir créé deux clés SSH sur votre ordinateur local . Ensuite, vous téléchargez la clé publique sur GitHub, une pour chaque compte.

La clé ssh du deuxième compte écrasera-t-elle la clé ssh du premier?

Non, les clés SSH sont stockées sur votre machine locale. Lorsque vous partagez la clé publique d'une clé avec votre compte GitHub, cela n'affecte en rien les clés d'autres comptes.


Pour cette situation particulière, la solution la plus simple serait de créer deux utilisateurs Windows distincts contenant chacun leurs propres informations d'identification pour GitHub.


8 commentaires

merci je vais essayer cela ... donc pour faire court une seule clé ssh pour chaque compte Windows car elle écrasera toute clé ssh existante sur le compte actuel


ou utilisez simplement la même clé pour les deux utilisateurs ... puisque la même personne utilise les deux comptes, il n'y a aucun avantage à utiliser des clés différentes ...


@Pali 'utilise la même clé pour les deux utilisateurs' cela fonctionne-t-il même sur différents comptes github? parce que mon frère et moi avions nos propres comptes github


@ailia lorsque le démon ssh de github défie votre client ssh avec l'authentification par clé publique, votre client ssh répond automatiquement avec la bonne clé puisque les deux comptes utilisent la même clé ... c'est le truc ici, tout comme utiliser le même mot de passe pour plusieurs comptes, peu importe le nom d'utilisateur, le mot de passe est toujours correct


@Pali Bien que ce que vous dites fonctionne en théorie, GitHub ne vous permettra pas de télécharger la même clé publique sur deux comptes différents. Cela donnera une erreur lorsque vous tenterez de le télécharger sur le deuxième compte.


Je doute que ... si j'obtiens un avertissement de duplication, je sais que ma paire de clés privée / publique correspond à la paire de clés d'un autre utilisateur ...


"une seule clé ssh pour chaque compte Windows" Vous pouvez avoir plusieurs clés pour le même compte Windows sans aucun problème. En règle générale, vous configurez SSH pour utiliser une clé donnée pour un domaine donné. Vous pouvez facilement utiliser la même clé pour plusieurs domaines différents, ou même une clé différente pour chaque domaine. Mais je n'ai pas encore compris comment utiliser deux clés différentes pour le même domaine.


@Pali Vous pouvez l'essayer par vous-même si vous avez deux comptes GitHub distincts.



0
votes

Une réponse plus pratique:

Utilisez simplement la même clé pour les deux comptes.

Étant donné que la même personne (vous) utilise les deux comptes, il n'y a aucun avantage à utiliser des clés différentes.

Les clés ssh sont utilisées pour l'identification, et l'identité des deux comptes est vous ...

Vous pouvez utiliser une seule clé ssh pour des centaines de comptes, assurez-vous simplement que votre clé privée est sécurisée et protégée par mot de passe.


4 commentaires

Je ne dirais pas qu'utiliser la même clé pour tout ce que vous faites est une bonne idée. Et si vous le perdez ? Alors tout est parti.


Désolé, je n'étais pas clair là-bas. Et s'il était compromis?


alors les deux clés sont compromises puisqu'elles sont dans le même répertoire ...


Notez que GitHub refusera de vous permettre de télécharger une clé publique qui appartient déjà à un autre compte sur leur service. Cela signifie que l'OP peut télécharger une clé SSH sur un compte, mais lorsqu'il tente de télécharger la même clé sur le deuxième compte, GitHub renvoie une erreur.



0
votes

J'ai trouvé la solution dans cette réponse SO . Fondamentalement, vous pouvez avoir plusieurs utilisateurs avec plusieurs comptes git (GitHub / GitLab), chacun avec sa propre clé SSH, mais vous avez besoin de deux clones de référentiel séparés, configurez le deuxième référentiel pour utiliser un autre nom d'utilisateur git ET un autre nom d'hôte. Le nom d'hôte n'est pas réel, c'est juste une entrée dans la configuration SSH pour utiliser une autre paire de clés SSH.

Étapes:

  1. Clonez le dépôt: git clone repo repo.user2

  2. Config nom d'utilisateur local: cd repo.user2 && git config user.name user2 && git config user.email user@example.com

  3. Créez une clé SSH alternative pour l'utilisateur2: ssh-keygen -C "user@example.com" -f ~ / .ssh / id_rsa.user2

  4. Ajouter une section à ~ / .ssh / config:

     Host github-user2.com
       Hostname github.com
       User git
       IdentityFile ~/.ssh/id_rsa.user2
       IdentitiesOnly yes
    
  5. Définissez l'URL distante: git remote set-url origin git@github-user2.com: user / repo.git

  6. Maintenant, vous devriez pouvoir accéder à de repo: git pull


0 commentaires