44 votes

Que faire à propos de "La demande d'allocation PTY a échoué sur le canal 0"

Je ne vois pas d'envelopper ma tête la création d'une clé ssh pour GitHub. Je l'ai eu à travailler un certain temps en arrière, mais je ne peux pas comprendre ce qui a changé. Depuis, j'ai supprimé le précédent clés SSH de mon compte GitHub. Après avoir suivi les instructions à plusieurs reprises pour générer une clé SSH (http://help.github.com/mac-key-setup) et les tests "ssh git@github.com" je reçois le suivant;

PTY demande d'allocation a échoué sur le canal 0 ERREUR: Salut...avec succès authentifié...GitHub n'est pas fournir un accès shell...Connexion à github.com fermé.

J'ai passé en revue le guide de dépannage et remarqué que mon ssh répertoire de ne pas avoir un fichier de config. Après je crée, je ne suis pas sûr de ce que ou comment entrer le chemin d'accès local sur le IdentityFile ligne. Je ne suis même pas sûr si cela est nécessaire dans mon cas?

Si votre github authentification l'information est différente de la votre machine les informations de compte, vous aurez besoin de modifier votre configuration de ssh fichier.

Créer ou ouvrir le fichier à ~/.ssh/config, Ajoutez les lignes suivantes:

Host github.com
    User git
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile [local path to private key half of github public key you provided]

Vous pouvez aussi avoir besoin de mettre à jour le les autorisations sur votre .ssh dossier et de son contenu. Le SSH application ignorer le secret des fichiers qui sont trop permissive.

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*

J'ai aussi couru ssh -v git@github.com les résultats de ce qui peut être vu ici http://gist.github.com/607283 rien de différent de ce que je peux dire.

Toute idée de ce que je fais mal?

38voto

Chris Johnsen Points 50064

Comme décrit dans les commentaires sur la question, le "PTY demande d'allocation a échoué" est un leurre à l'égard de GitHub authentification (c'est le résultat d'essayer de manière interactive connexion à GitHub quand la seule SSH service qu'ils offrent est non-interactive Git-sur-SSH; l'authentification fonctionne, il suffit de ne pas fournir interactive, "shell" de service).


La personne qui a posé la question l'a écrit dans un commentaire:

Je suppose que le problème est que lorsque je tente de créer un nouveau référentiel et "git push origin master" j'ai le retour suivant: "Erreur: Permission de myemail@address.com/myapp refusé à myusername. Fatal: l'extrémité distante accroché de façon inattendue"

Ce qui semble le plus susceptible d'être le problème réel. Cela semble indiquer que la télécommande nommé origin n'est pas configuré pour pointer correctement à un dépôt GitHub.

Vérifiez la sortie de la git remote show -n origin. Probablement la "récupération de l'URL" et le "Push URL" sont les mêmes. Elles doivent ressembler à ceci:

git@github.com:git-user-name/repository-name

Lors de l'enregistrement dans GitHub sur le web, vous pouvez utiliser votre compte nom d'utilisateur ou son adresse email associée. Lorsque l'on pousse vers des dépôts (ou l'extraction de dépôts privés), vous devez utiliser votre nom d'utilisateur (adresse e-mail ne fonctionnera pas). Il semble que vous êtes en utilisant votre adresse e-mail au lieu de simplement votre GitHub nom d'utilisateur. Pour résoudre ce problème, reconfigurez la distance de l'URL:

git remote set-url origin git@github.com:github-username/repository-name

Votre nom d'utilisateur est affiché dans de nombreux endroits sur le GitHub pages web une fois que vous êtes connecté. L'endroit le plus facile à trouver, c'est entre votre gravatar et le "tableau de bord" lien sur la page d'en-tête (vous verrez une icône de silhouette si vous n'avez pas de gravatar configuré). Même l'emplacement des liens vers votre page de profil public; cette URL de la page doit également mettre fin à votre nom d'utilisateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X