如何处理“PTY通道0上的PTY分配请求失败”

我看不到为我的头创造一个GitHub ssh密钥。 我工作了一段时间后,但我不知道有什么变化。 我已经从我的GitHub帐户中删除了以前的SSH密钥。 在按照指示生成SSH密钥( http://help.github.com/mac-key-setup )并testing“ssh git@github.com”之后,我得到以下信息:

PTY分配请求在通道0上失败错误:嗨…成功validation… GitHub不提供shell访问…closuresgithub.com的连接。

我查阅了故障排除指南 ,发现我的ssh目录没有configuration文件。 创build它后,我不确定什么或如何进入IdentityFile行的本地path。 我甚至不确定在我的情况下这是否有必要?

如果您的github身份validation信息与您的计算机帐户信息不同,则需要修改您的sshconfiguration文件。

在〜/ .ssh / config中创build或打开文件添加以下行:

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

您可能还需要更新.ssh文件夹及其内容的权限。 SSH应用程序将忽略太宽松的秘密文件。

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

我也跑了ssh -v git@github.com其结果可以在这里看到http://gist.github.com/607283没有什么不同,我可以告诉。

任何想法我做错了什么?

正如在问题的评论中所述,“PTY分配请求失败”是一个关于GitHub身份validation的红字(这是因为他们提供的唯一的SSH服务是非交互式的Git- over-SSH;身份validation正在工作,他们只是不提供交互式的“shell”服务)。


问这个问题的人在评论中写道:

我猜相关的问题是,当我尝试创build一个新的存储库和“git push origin master”时,我返回下列错误:myemail@address.com/myapp的权限被拒绝给myusername致命:远程端意外挂断“

这似乎更可能是实际的问题。 这似乎表明远程命名的origin没有被configuration为正确指向一个GitHub仓库。

检查git remote show -n origin的输出。 “抓取url”和“推送url”可能是一样的。 他们应该看起来像这样:

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

在网上loginGitHub时,您可以使用您帐户的用户名或其关联的电子邮件地址。 当推送到储存库(或从私人储存库取回)时,您必须使用您的实际用户名(电子邮件地址将不起作用)。 看起来你正在使用你的电子邮件地址,而不仅仅是你的GitHub用户名。 要解决这个问题,重新configuration远程的URL:

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

一旦你login,你的用户名将显示在GitHub网页上的很多地方。最简单的find它的地方在你的gravatar和页面标题上的“Dashboard”链接之间(如果你没有,你会看到一个剪影图标configuration了一个gravatar)。 同一位置链接到您的公开个人资料页面; 此页面的url也应以您的用户名结尾。