J'essaie de configurer un autre compte GitHub pour pouvoir travailler depuis ma machine. J'ai commencé à regarder autour de moi et j'ai trouvé :
Configurez plusieurs profils ssh en créant/modifiant ~/.ssh/config. Notez les valeurs légèrement différentes de l'hôte:
Donc, comme j'ai (déjà) plusieurs comptes qui fonctionnent (je ne me souviens pas comment et quand je l'ai fait), je voulais simplement ajouter une autre entrée dans ~/.ssh/config
. Mais il semble que je n'ai pas un tel fichier. Peut-être qu'il est situé ailleurs? Ou peut-être que ma machine est configurée d'une autre manière? Par où commencer la recherche?
C'est le comportement de ssh plutôt que de git.
Dans votre ~/.ssh
dossier vous avez votre clé privée. Le nom du fichier de votre clé privée est id_rsa
par défaut. Chaque fois que votre client ssh doit se connecter à un serveur ssh, il lit la clé de ce fichier.
Mais dans certains cas, vous souhaiterez peut-être utiliser une clé privée différente pour l'authentification. Dans ce cas, vous créez le fichier ~/.ssh/config
et vous ajoutez une section avec un alias (le nom d'hôte que vous écrivez sur la ligne de commande) le vrai nom d'hôte et le chemin d'accès au fichier de clé alternatif sur votre système local:
# ~/.ssh/config
Host alternative-github
HostName github.com
User MyOtherGithubUser
IdentityFile /media/me/MyUsbThumbDrive/.ssh/MyOtherGithubUsers-id_rsa
Avec cette configuration ssh recherche sur ma clé USB UBS la clé privée lorsque je clone le dépôt comme ceci:
git clone git@alternative-github:/MyOtherGithubUser/someRepositoty.git
Tant que vous utilisez la même paire de clés publique/privée avec vos projets git et que la clé privée est disponible en tant que ~/.ssh/id_rsa
vous n'avez pas besoin du fichier ~/.ssh/config
.
Je voulais juste ajouter une autre entrée dans
~/.ssh/config
Vous pouvez le créer, mais:
vous devez avoir généré des clés publiques/privées avec un nom différent
ssh-keygen -q -P "" -t rsa -f ~/.ssh/key2
vous devez être enregistré ~/.ssh/key2.pub
sur votre deuxième compte de serveur distant
vous devez avoir un fichier de configuration avec:
Host github2
HostName github.com
User git
IdentityFile /home/me/.ssh/key2
Notez l'utilisateur ici: 'git
', not 'another GitHub account
'
vous devez modifier l'URL distante d'origine pour utiliser cette entrée:
git remote set-url Origin github2:MySecondAccount/MyRepo.git