赞
踩
此处特别感谢Claude2的悉心指导,tql
首先遇到的问题就是 git clone 私有仓库的时候显示
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
因为以前用vscode一直没遇到这个问题,就去问了问Claude,然后它让我用ssh方式
我按照指示生成了ssh key,此时界面上会显示如下形式
The key fingerprint is: xxx The key's randomart image is: xxx
这里会有个小问题,系统里面可能原先有key了,那要防止覆盖的话得重新命名,可以一步到位
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/my_custom_key
这个命令说明:
然后去哪里查看呢?
ls -al ~/.ssh
再 cat ~/.ssh/xxx你生成的xxx.pub
,然后复制到github里面的位置就可以了
我遇到的问题主要是接下来一直遇到下面这个
Cloning into 'xxx'...
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.
试了好多办法,比如ssh权限,修改pub权限等等都没用,后来一想,会不会是几个key有冲突,然后就把想法告诉Claude2,他说可能是,然后让我去照着下面的步骤做,然后就成功了!
以下为Claude2的回答
本地存在多个SSH密钥对,这时需要指定使用哪一个私钥来访问GitHub。可以通过以下步骤来指定活动的SSH密钥:
在~/.ssh/目录下查看存在哪些私钥文件,可能有id_rsa、id_rsa_xxx等
在GitHub账号设置的SSH Keys页面,检查你添加的是哪个公钥(通过公钥内容可以匹配私钥名称)
编辑~/.ssh/config文件,添加以下内容指定私钥的路径:
Host github.com
IdentityFile ~/.ssh/id_rsa_xxx
```
将id_rsa_xxx替换为你在GitHub上使用的公钥对应的私钥文件名。
保存config文件。
终端中测试连接GitHub:
ssh -T git@github.com
现在SSH应该会自动读取指定的私钥来验证连接。
这种方式可以在有多个SSH密钥的情况下,指定使用哪一个私钥来连接特定的Git服务器,避免冲突。
以下为Claude2的回答
ssh -T git@github.com
这个命令是用于测试SSH连接GitHub服务器是否正常的。
其中:
ssh
是安全SHELL的客户端程序。
-T
参数表示不执行远程命令,仅测试连接。
git@github.com
表示使用git协议连接GitHub主机。
运行这个命令后,可能有以下几种输出结果:
连接成功,会看到"You’ve successfully authenticated" 等提示。这表示SSH连接正常。
授权失败,提示 “Permission denied”。表示GitHub拒绝了SSH密钥验证。
连接超时。网络问题导致无法连接上GitHub。
主机无法解析。域名无法解析到GitHub服务器IP。
其他错误信息。如SSH版本、配置不正确导致的问题。
所以这个测试连接的命令可以用来:
检查SSH到GitHub的网络连通性。
排查GitHub拒绝连接的问题。
确认你的SSH密钥和配置正常有效。
在修改SSH配置后重新验证设置是否生效。
通过这个命令返回的结果,可以确定是服务器端的问题,还是自己本地的SSH客户端配置问题。这有助于针对性地解决SSH无法连接的问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。