我曾经尝试谷歌和通过 https://help.github.com/en/articles/connecting-to-github-with-ssh和各种各样的指南阅读。我无法 git push -u origin master
或 git push origin master
(相同的命令)。
我的 Git 账户至少有两年了。我已经成功地能够创建回购和 push -u origin master
罚款在我的笔记本电脑,但在这个桌面我有问题。
我试过这么做:
我已经设置了我的 git 用户名
2. 我已经设置了我的 git 用户电子邮件
3.我已经上传了我的/home/meder/的内容。Ssh/id _ rsa.从酒吧到 Github 的账户页面。我已经确认我没有粘贴任何空格
4. 我创建了一个 ~/. ssh/config,其中包含以下内容:
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
我已经将.ssh 修改为700,id _ rsa 600
5. 我添加了 适当的远程起源 不会打错字: git remote add origin git@github.com:medero/cho.git
6. 要确认 # 5,这里是我的. git/config 目录,它是 正确而不是另一个目录:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:medero/cho.git
ssh git@github.com -v
给了我一个成功的身份验证
8.有一件事很奇怪,它向我打招呼的用户名后面加了 t
。我的 github 用户名是 medero
,不是 medert
。
嗨,梅德罗! 你成功了 但 GitHub 没有 提供 shell 访问。
9. 我是代理服务器或防火墙后面的 没有
10. 提供了键,以下是 -v
的输出:
debug1: Host 'github.com' is known and matches the RSA host key. debug1: Found key in /home/meder/.ssh/known_hosts:58 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering public key: /home/meder/.ssh/id_rsa debug1: Remote: Forced command: gerve mederot debug1: Remote: Port forwarding disabled. debug1: Remote: X11 forwarding disabled. debug1: Remote: Agent forwarding disabled. debug1: Remote: Pty allocation disabled. debug1: Server accepts key: { some stuff, dont know if i should share it debug1: Remote: Forced command: gerve mederot debug1: Remote: Port forwarding disabled. debug1: Remote: X11 forwarding disabled. debug1: Remote: Agent forwarding disabled. debug1: Remote: Pty allocation disabled. debug1: Authentication succeeded (publickey).
以下是我使用的命令
mkdir cho
git init
touch README
git add README
git commit -m 'test'
git remote add origin git@github.com:medero/cho.git
git push -u origin master
我不想创建一个新的 SSH 密钥。
13.如果我使用 ssh 克隆 git,然后编辑、提交和 git push,得到的结果是一样的。
下面是实际的错误:
$ git push
ERROR: Permission to medero/cho.git denied to mederot.
fatal: The remote end hung up unexpectedly
15. 我已经设置了我的 github 用户名和 github 令牌:
$git config —— global github.user medero $git config —— global GitHub.token 0123456789yourf0123456789token 设置系统上所有 git 实例的 GitHub 令牌
16.我已经确认我的 github 用户名不是 mederot
,我的 github 令牌在我的帐户页面上是正确的(验证了前2个字符和后2个字符)。
要确认 # 16,~/. gitconfig 包含
[github]
token = mytoken...
user = medero
如果有必要的话,我做了 ssh-key add ~/.ssh/id_rsa
..。
理论:
我怀疑有什么不对劲的地方,因为当我对 ssh 进行身份验证时,用户问候语是 mederot
而不是 medero
,后者是我的帐户。我的 github 帐户中的某些内容可能被错误地缓存了吗?
我还怀疑一些本地 ssh 缓存的怪异之处,因为如果 i mv ~/.ssh/id_rsa KAKA
和 mv ~/.ssh/id_rsa.pub POOPOO
,并执行 ssh git@github.com -v
,它仍然认证我,并说它服务于我的/home/meder/。当我重命名它的时候,ssh/id _ rsa? !必须缓存吗!