【问题标题】:Github Desktop / VsCcode Authentication failedGithub 桌面/VsCcode 身份验证失败
【发布时间】:2021-02-28 13:39:34
【问题描述】:

我在尝试将 git 与 git bash 以外的其他应用程序一起使用时遇到了一些问题。
(我在 Windows 上)

使用 git desktop 我有一个身份验证失败错误:

身份验证失败。一些常见的原因包括:

  • 您未登录您的帐户:请参阅文件 > 选项。
  • 您可能需要注销并重新登录以刷新您的令牌。
  • 您无权访问此存储库。
  • 存储库存档在 GitHub 上。检查存储库设置以确认您仍然可以推送提交。
  • 如果您使用 SSH 身份验证,请检查您的密钥是否已添加到 ssh-agent 并与您的帐户相关联。

使用 VsCode 我有

Git : git@github.com: Permission denied (publickey).

还有这个错误日志:

git pull --tags origin main
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
git status -z -u
git symbolic-ref --short HEAD
git rev-parse main
git rev-parse --symbolic-full-name main@{u}
git rev-list --left-right main...refs/remotes/origin/main
git for-each-ref --sort -committerdate --format %(refname) %(objectname)
git remote --verbose
git config --get commit.template

我尝试从 git 桌面断开/重新连接,更改我的 ~/.profile,创建一个 ssh 代理,重新启动我的计算机....但没有任何效果

我检查过,我有相同的钥匙女巫ssh-add -l 和 github

在这里您可以看到我尝试但未按预期执行的命令屏幕:

【问题讨论】:

  • 我也有一个错误$ ssh -v git@github.com 我有一个错误消息和一个成功消息我不知道是否有一个链接 beetwen 和身份验证错误 - PTY 分配请求失败频道 0 - 嗨 Phorcys-1!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。 - 与 github.com 的连接已关闭。

标签: git github ssh connection


【解决方案1】:

如果ssh -Tv git@github.com 确实在 git(适用于 Windows)bash shell 会话中工作,这意味着您必须在 %USERPROFILE% 中拥有(检查)公钥/私钥对

打开 CMD(不是 git bash)cd %USERPROFILE%\.ssh 并查找 id_rsaid_rsa.pub 文件。
如果私钥是在没有密码的情况下创建的,则不需要ssh-add -l:这仅适用于受密码保护的私钥。

如果您没有看到它们,请查看 ssh -Tv git@github.com 的输出,以了解 openssh 实际使用的密钥在哪里。

还要检查 %USERPROFILE%\.ssh 中的配置文件,其中可能包含这些键的正确路径。

【讨论】:

  • 感谢您的回答。我的 ~/.ssh 中有密钥,我的私钥是用密码创建的。 Ans 这就是我的配置文件的外观: Host git@github.com IdentityFile ~/.ssh/id_rsa User Phorcys-1 AddKeysToAgent yes
  • @Julio OK:尝试测试以在没有密码的情况下重新创建您的密钥,将您的公钥注册到 GitHub 并重命名您的配置文件(在这种情况下您不需要它)
  • @Julio 对于个人用途,我建议这样做。
  • 是的,但这是为了团队合作......我不会在没有密码的情况下长时间保留密钥
  • @Julio 然后使用受密码保护的密钥重试,但不要使用配置文件
【解决方案2】:

这是ssh -Tv git@github.com的输出

OpenSSH_for_Windows_7.7p1,LibreSSL 2.6.5

  • debug1:读取配置数据 C:\Users\soari/.ssh/config
  • debug1:连接到 github.com [140.82.121.4] 端口 22。
  • debug1:已建立连接。
  • debug1:身份文件 C:\Users\soari/.ssh/id_rsa type 0
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_rsa-cert type -1
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_dsa type -1
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_dsa-cert type -1
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_ecdsa type -1
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_ecdsa-cert type -1
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_ed25519 type -1
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_ed25519-cert type -1
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_xmss type -1
  • debug1: key_load_public: 没有这样的文件或目录
  • debug1:身份文件 C:\Users\soari/.ssh/id_xmss-cert type -1
  • debug1:本地版本字符串 SSH-2.0-OpenSSH_for_Windows_7.7
  • debug1:远程协议版本2.0,远程软件版本babeld-c863b32e
  • debug1:不匹配:babeld-c863b32e
  • debug1:以 'git' 身份向 github.com:22 进行身份验证
  • debug1:SSH2_MSG_KEXINIT 已发送
  • debug1:收到 SSH2_MSG_KEXINIT
  • debug1:kex:算法:curve25519-sha256
  • debug1:kex:主机密钥算法:rsa-sha2-512
  • 调试1:kex:服务器->客户端密码:chacha20-poly1305@openssh.com MAC:压缩:无
  • 调试1:kex:客户端->服务器密码:chacha20-poly1305@openssh.com MAC:压缩:无
  • debug1:期待 SSH2_MSG_KEX_ECDH_REPLY
  • debug1:服务器主机密钥:ssh-rsa SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
  • debug1:主机“github.com”已知且与 RSA 主机密钥匹配。
  • debug1:在 C:\Users\soari/.ssh/known_hosts:5 中找到密钥
  • debug1:在 134217728 个块后重新生成密钥
  • debug1:SSH2_MSG_NEWKEYS 已发送
  • debug1:期待 SSH2_MSG_NEWKEYS
  • debug1:收到 SSH2_MSG_NEWKEYS
  • debug1:在 134217728 个块后重新生成密钥
  • debug1:收到 SSH2_MSG_EXT_INFO
  • debug1:kex_input_ext_info:server-sig-algs=
  • debug1:收到 SSH2_MSG_SERVICE_ACCEPT
  • debug1:可以继续的身份验证:公钥
  • debug1:下一个身份验证方法:公钥
  • debug1:提供公钥:RSA SHA256:UgTMuv+9mt7CPvBKvP5LY0C7ArLvmV1eHd+9q83x/6U C:\Users\soari/.ssh/id_rsa
  • debug1:服务器接受密钥:pkalg ssh-rsa blen 407 警告:代理返回了不同的签名类型 ssh-rsa(预期为 rsa-sha2-512)
  • debug1:身份验证成功(公钥)。 已通过 github.com ([140.82.121.4]:22) 的身份验证。
  • debug1:通道 0:新 [client-session]
  • debug1:进入交互式会话。
  • debug1:承诺:网络 嗨,Phorcys-1!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。
  • debug1:client_input_channel_req:channel 0 rtype exit-status reply 0
  • debug1:通道 0:空闲:客户端会话,nchannels 1 已传输:发送 2944,接收 2596 字节,在 0.3 秒内 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 2017-07-17
    • 2020-10-06
    • 1970-01-01
    • 2014-01-24
    相关资源
    最近更新 更多