“Accès refusé” lors de la poussée de dépôt distant via SSH
Je suis un newbie avec Git et il semble avoir un problème avec le poussant à un référentiel sur un réseau.
Voici ce que je fais pour recréer le problème:
-
créer un nouveau dépôt Git sur l'ordinateur pour le pousser à
mkdir ~/git/test.git cd !$ git --bare init
-
Sur mon ordinateur en local j'ai ensuite créer un nouveau dépôt Git et ajouter un fichier aléatoire à elle:
mkdir test git init touch TEST git add . git commit -m "initial commit"
-
Puis ajouter l'ordinateur distant via:
git remote add origin ssh://[email protected]/~/git/test.git
- Ensuite, j'essaie de pousser le dépôt local vers le distant via:
git push origin master
C'est ce que je reçois quand je fais ça:
fatal: protocol error: bad line length character <- sometimes not there
Access denied
Access denied
Access denied
Access denied
FATAL ERROR: Server sent disconnect message
type 2 (protocol error):
"Too many authentication failures for user"
Je suis en utilisant cygwin sur une machine XP et il essaie de pousser pour un serveur unix.
J'ai aussi essayé entre deux de mes ordinateurs, j'ai à la maison et j'ai le même problème, les deux sont des machines windows par la voie.
J'ai mis en place sans mot de passe de connexion par SSH et je peux ssh
pas de problème par le biais de: ssh [email protected]
J'ai été à essayer de comprendre ce depuis deux jours maintenant, toute aide serait appréciée
Vous devez vous connecter pour publier un commentaire.
Le problème est probablement que ~ ne vais pas développer correctement lors de l'utilisation dans un ssh URI. Vous devez spécifier le chemin absolu vers le répertoire git sur l'ordinateur distant en ssh URI, comme ceci:
J'ai eu un problème similaire, mais la solution est avéré un peu différent pour ma situation. Le message d'erreur que je recevais était:
Je ne comprenais pas quel était le problème, ssh -vv n'a pas montrer quoi que ce soit soit. J'ai déjà eu ce texte dans mon ~/.ssh/config
La question s'est avéré être que Unfuddle du serveur SSH est configuré de manière à refuser l'accès après un certain nombre de clés SSH sont essayé. Même si j'ai eu spécifiques IdentityFile configurer mon client SSH a été, pour des raisons inconnues, en essayant tous de mon local de clés SSH en séquence jusqu'à la Unfuddle a refusé l'accès. La solution a été de définir le SSH "IdentitiesOnly" option de configuration pour le "oui" qui dites-le local SSH client de n'envoyer qu'une seule IdentityFile et pas d'autres.
Ref: http://railspikes.com/2010/2/1/fixing-the-heroku-too-many-authentication-failures-for-git-problem
J'espère que cela aide quelqu'un.
James
Je ne suis pas sûr au sujet de vos problèmes d'accès, mais le chemin dans
m'inquiète. Qu'obtenez-vous avec
?
Aussi s'il vous plaît montrer la sortie à partir de
git push -v ...
Essayez d'utiliser
Dans votre cas, le problème est probablement le caractère~. Utilisation:
Cependant, je ai aussi vu ce problème (toujours sur Windows sur les machines client) lorsque le nom d'utilisateur ("utilisateur"@") de la partie a disparu, ainsi que toute autre personne avec ce problème doit vérifier que trop.
Encore une clé pour résoudre un tel problème. Dans notre cas, la raison en était gitolite.fichier conf avec repositiories et les autorisations. Quelqu'un a édité avec le bloc-notes de Windows, qui a ajouté la NOMENCLATURE d'en-tête à elle. Après cette repositiory avait très étrange comportement lorsque certains utilisateurs pourraient mais certains n'ont pas pu écrire l'obtention de l'accès refusé messages.