J'ai généré une paire de clés SSH sans mot de passe et ajouté la clé publique à GitHub.
Connexion avec
user@dev:/var/www/project# ssh -T [email protected]
Hi User! You've successfully authenticated, but GitHub does not provide shell access.
a réussi et lorsque je renomme la clé, elle échoue.
Mais quand je veux pousser mes modifications, il me demande toujours ma combinaison nom d'utilisateur et mot de passe.
Existe-t-il un moyen de pousser sans mot de passe?
https://github...
dans vos télécommandes. Ils doivent également suivre legit@github...
format.Réponses:
S'il vous demande un nom d'utilisateur et un mot de passe, votre télécommande d'origine pointe vers l'URL HTTPS plutôt que l'URL SSH.
Changez-le en ssh.
Par exemple, un projet GitHub comme Git aura une URL HTTPS:
Et celui SSH:
Tu peux faire:
pour changer l'URL.
la source
git remote set-url origin $(git remote show origin | grep "Fetch URL" | sed 's/ *Fetch URL: //' | sed 's/https:\/\/github.com\//[email protected]:/')
De plus pour les gists, il semble que vous devez laisser de côté le nom d'utilisateur
la source
Dans le cas où vous utilisez effectivement l'URL SSH, mais vous êtes toujours invité à saisir votre nom d'utilisateur et votre mot de passe lorsque git pousse:
Vous devriez essayer de dépanner avec:
Voici un exemple de sortie:
En fait, j'ai déjà ajouté la clé publique à GitHub auparavant, et j'ai également la clé privée localement. Cependant, ma clé privée est d'un nom différent appelé
/c/Users/Yuci/.ssh/github_rsa
.Selon l'exemple de sortie, Git essaie
/c/Users/Yuci/.ssh/id_rsa
, ce que je n'ai pas. Par conséquent, je pourrais simplement copiergithub_rsa
àid_rsa
dans le même répertoire.Maintenant, quand je cours à
ssh -vT [email protected]
nouveau, j'ai:Et maintenant, je peux pousser vers GitHub sans qu'on me demande le nom d'utilisateur et le mot de passe :-)
la source
Vous devez utiliser la version SSH , pas HTTPS . Lorsque vous clonez à partir d'un référentiel, copiez le lien avec la version SSH , car SSH est facile à utiliser et résout tous les problèmes d'accès. Vous pouvez définir l'accès pour chaque SSH que vous entrez dans votre compte (comme push, pull, clone, etc ...)
Voici un lien qui explique pourquoi nous avons besoin de SSH et comment l'utiliser: étape par étape
Git générer des clés SSH
la source
Comme d'habitude, créez une clé SSH et collez la clé publique dans GitHub. Ajoutez la clé privée à ssh-agent. (Je suppose que c'est ce que vous avez fait.)
Pour vérifier que tout est correct, utilisez
ssh -T [email protected]
Ensuite, n'oubliez pas de modifier le point distant comme suit:
la source
En utilisant la ligne de commande:
Entrez
ls -al ~/.ssh
pour voir si des clés SSH existantes sont présentes.Dans le terminal est affiché: Aucun répertoire n'existe
Générez ensuite une nouvelle clé SSH
Étape 1.
étape 2.
étape 3.
la source