j'ai plusieurs clés ssh et j'ai également un compte sur bitbucket et github. comment quand j'utilise tirer ça me donne une erreur
:/var/www/proj$ git pull origin master
conq: repository access denied.
fatal: The remote end hung up unexpectedly
ou si je ssh le site bitbucket il donne des erreurs cul clé publique refusée
:~$ ssh [email protected]
Permission denied (publickey).
comment puis-je résoudre ce problème et utiliser différentes clés avec différents comptes.
Réponses:
Tout cela est collecté à partir du site Web et du stackoverflow, espérons que cela aide les nouveaux utilisateurs de ssh
vous pouvez donc avoir plusieurs clés ssh
Remarque: nous devons ajouter ensuite à l'agent ssh, probablement id_rsa sera ajouté, nous devons donc ajouter l'autre clé privée
maintenant, nous avons ajouté les deux clés ssh à ssh-agent
nous en avons un pour bitbucket et un pour github
nous créons donc un fichier de configuration comme celui-ci
Remarque: j'utilise 2 clés différentes pour 2 comptes différents sur bitbucket et une pour github.
Maintenant, nous devons dire au référentiel git quel hôte utiliser afin que j'obtienne cette clé ssh spécifique pour ce compte spécifique
changer
[email protected]/yyyproject.git
pourgit@bit-yyyuser:yyyuser/yyyproject.git
donc dans le dossier du projet et ajoutez l'url distante
dans un autre projet
vous pouvez maintenant utiliser push and pull facilement
et un autre projet
maintenant je n'ai pas le projet github sur la machine locale donc nous devons cloner le projet mais nous devons faire un petit changement à l'url pour cloner
notre URL est comme ça
comme nous devons le cloner avec des clés spécifiques, nous avons juste besoin de changer le nom d'hôte avec l'hôte que nous avons défini
comme défini dans le fichier de configuration
et maintenant on peut cloner
nous avons identifié différentes clés ssh pour différents hôtes, une pour git et une pour bitbucket maintenant le système sait quelles clés ssh doivent être utilisées avec quel hôte.
Maintenant, nous pouvons facilement tirer, pousser.
la source
Je configure
~/.ssh/config
, comme ceci:puis utilisez un nom d'hôte personnalisé au lieu du domaine réel dans git url:
Pour plus de détails, veuillez lire ici: http://itblog.study.land/how-to-specify-different-ssh-keys-for-git-push-for-a-given-domain/
la source