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?
4 Réponses :
$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 ...
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 a> 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.
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.
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.
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.
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.
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:
Clonez le dépôt: git clone repo repo.user2
Config nom d'utilisateur local: cd repo.user2 && git config user.name user2 && git config user.email user@example.com
Créez une clé SSH alternative pour l'utilisateur2: ssh-keygen -C "user@example.com" -f ~ / .ssh / id_rsa.user2
Ajouter une section à ~ / .ssh / config:
Host github-user2.com Hostname github.com User git IdentityFile ~/.ssh/id_rsa.user2 IdentitiesOnly yes
Définissez l'URL distante: git remote set-url origin git@github-user2.com: user / repo.git
Maintenant, vous devriez pouvoir accéder à de repo: git pull
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.