J'ai un dépôt Github auquel je veux accéder à partir de deux machines Linux différentes.
Pour la première machine, j'ai suivi les instructions de Github pour générer des clés SSH et ajouté la clé publique résultante à Github. Ce client fonctionne bien.
Pour le deuxième client, j'ai copié le /home/{user}/.ssh/id_rsa
fichier du premier client. Je pensais que c'était peut-être tout ce que j'avais à faire, mais lorsque j'essaie de me connecter, je reçois «Autorisation refusée (publickey)».
Qu'est-ce que je rate?
Si vous obtenez une autorisation refusée de la part de Github, il se peut qu'il ne récupère pas votre fichier de clé SSH copié, mais plutôt la valeur par défaut du système. Un moyen simple de contourner ce problème consiste à créer un excellent
~/.ssh/config
fichier et à y insérer les éléments suivants:Cela forcera votre client SSH à utiliser cette clé uniquement pour github.com.
J'espère que cela t'aides.
la source
Je sais que c'est vieux, mais j'ai pensé que vous devez également copier la clé publique sur le deuxième client
(ou recalculez-le avec ssh-keygen -y -f ~ / .ssh / id_rsa_ ..> ~ / .ssh / id_rsa ... pub)
À partir de 1]:
Votre client ssh commence l'authentification en envoyant la clé publique (la signature référencée en gras ci-dessus) au serveur. Le serveur, si la clé publique est une clé autorisée, renvoie un ID de session aléatoire à votre client. Votre client code ensuite cet ID de session avec la clé privée et le renvoie au serveur. Le serveur décode cet ID de session à l'aide de la clé publique et, s'il correspond à l'ID de session d'origine, authentifie votre client.
[1] [ http://www.openssh.org/txt/rfc4252.txt 3/10]
la source
C'est probablement parce que vous n'avez pas copié l'autorisation du fichier sur le deuxième client.
Mais une clé privée est privée , la bonne façon est de créer une nouvelle clé privée sur le deuxième client, puis d'ajouter sa clé publique à Github
la source