我无法看到为GitHub创建一个ssh密钥.我让它工作了很长一段时间,但我无法弄清楚发生了什么变化.我已经从我的GitHub帐户中删除了以前的SSH密钥.按照说明多次生成SSH密钥(http://help.github.com/mac-key-setup)并测试"ssh git@github.com"后,我得到以下内容;
通道0上的PTY分配请求失败错误:嗨...成功通过认证... GitHub不提供shell访问...连接到github.com已关闭.
我查看了故障排除指南,发现我的ssh目录没有配置文件.在创建它之后,我不确定在IdentityFile行上输入本地路径的内容或方法.在我的情况下,我甚至不确定这是否必要?
如果您的github身份验证信息与您的计算机帐户信息不同,则需要修改您的ssh配置文件.
在〜/ .ssh/config创建或打开文件添加以下行:
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile [local path to private key half of github public key you provided]
Run Code Online (Sandbox Code Playgroud)
您可能还需要更新.ssh文件夹及其内容的权限.SSH应用程序将忽略过于宽松的秘密文件.
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*
Run Code Online (Sandbox Code Playgroud)
我也运行了ssh -v git@github.com,其结果可以在这里看到http://gist.github.com/607283与我能说的完全不同.
知道我做错了什么吗?
Chr*_*sen 37
如关于该问题的评论中所述,"PTY allocation request failed"是关于GitHub身份验证的红色鲱鱼(当他们提供的唯一SSH服务是非交互式Git时,它是尝试以交互方式登录GitHub的结果 - over-SSH;身份验证正常,他们只是不提供交互式"shell"服务.
提出问题的人在评论中写道:
我想相关的问题是,当我尝试创建一个新的存储库和"git push origin master"时,我返回以下"错误:myemail@address.com/myapp的权限被拒绝到myusername.致命:远程端意外挂断"
这似乎更可能是实际问题.这似乎表明远程命名origin未配置为正确指向GitHub存储库.
检查输出git remote show -n origin.可能"获取URL"和"推送URL"是相同的.他们应该看起来像这样:
git@github.com:git-user-name/repository-name
Run Code Online (Sandbox Code Playgroud)
在网络上登录GitHub时,您可以使用您帐户的用户名或其关联的电子邮件地址.当推送到存储库(或从私有存储库获取)时,您必须使用您的实际用户名(电子邮件地址将不起作用).它看起来你在那里使用你的电子邮件地址,而不仅仅是你的GitHub用户名.要解决此问题,请重新配置远程URL:
git remote set-url origin git@github.com:github-username/repository-name
Run Code Online (Sandbox Code Playgroud)
一旦您登录,您的用户名就会显示在GitHub网页的许多位置.最简单的查找位置是您的gravatar和页眉上的"Dashboard"链接(如果您没有,您将看到一个轮廓图标)一个gravatar配置).同一位置链接到您的公开个人资料页面; 此网页的网址也应以您的用户名结尾.
| 归档时间: |
|
| 查看次数: |
70316 次 |
| 最近记录: |