我本地有个 git 仓库,remote 地址是 ssh 形式(git@github.com:xxx/xxx.git
),采用密钥对的方式登录。
近两天重做了系统,之前的 Key (C:\Users\Username\.ssh
整个文件夹)都被存放在了一个很安全的存储设备里面。重做系统后把之前备份的密钥对还原到了上述路径,之后登录业务主机没有影响。
但是今天改了点代码,想到好多天没上传了,寻思 Push 一下,结果报错:
Username@ComputerName MINGW64 /d/projectA (main)
$ git push -u origin main
Load key "/c/Users/Username/.ssh/id_rsa": invalid format
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.
还以为是 Key 的问题,但是测试了 Key 是能打印出来的
Username@ComputerName MINGW64 /d/projectA (main)
$ cat /c/Users/Username/.ssh/id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
[正确的 Key 内容]
-----END OPENSSH PRIVATE KEY-----
测试在 git bash 中不通过
Username@ComputerName MINGW64 /d/projectA (main)
$ ssh -T git@github.com
Load key "/c/Users/Username/.ssh/id_rsa": invalid format
git@github.com: Permission denied (publickey).
但在 cmd (非管理员权限)中正常
Microsoft Windows [版本 10.0.19045.2965]
(c) Microsoft Corporation 。保留所有权利。
C:\Users\Username>ssh -T git@github.com
Hi Username! You've successfully authenticated, but GitHub does not provide shell access.
直接就是一个白丝不得其解,VSCode 里面也没办法正常推送,感觉是权限问题,但是权限上看着又没啥问题,想问问大家有没有什么头绪,先谢过了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.