emil@DESKTOP-1I1B1NM:~$ git clone git@github.com:EmilYoung2004/git_test.git
Cloning into 'git_test'...
kex_exchange_identification: Connection closed by remote host
fatal: Could not read from remote repository
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
emil@DESKTOP-1I1B1NM:~$ ssh -T git@github.com
kex_exchange_identification: Connection closed by remote host
正如您所看到的,我正在尝试从 Microsoft Store 的 Ubuntu 20.04 应用程序连接到 github 这真的很烦人,因为在排序之前我无法继续我正在做的事情是否有什么我可以更改以防止此错误从发生?
有人告诉我连接到 Github 本身有错误,但我不知道
我正在学习所以不要让答案太复杂
提前致谢
小智 3
请确保您拥有正确的访问权限
这是错误的关键部分。基本上,github 拒绝通过 SSH 访问该存储库,因为您没有使用您的帐户或该存储库上的密钥进行身份验证。
在您的 Ubuntu shell 中,检查是否有使用 .ssh 生成的 SSH 密钥ls -la ~/.ssh。如果您有密钥,您可能应该会在其中看到几个名为id_rsa和的文件。id_rsa.pub如果没有,没关系,您可以使用ssh-keygen并按照提示生成它们(接受默认值应该没问题)。
现在您已经有了密钥,您需要将公钥添加到您的 github 帐户中。这里需要注意的id_rsa是您的私钥。保密。永远不要把它交给任何人,永远不要分享它,在网上发布它等等,id_rsa.pub这是你的公钥。这是您放置在要进行身份验证的其他设备上的设备,在本例中为 Github。将公钥提供给其他人/服务没有问题。
输出您的公钥并cat id_rsa.pub复制其输出的文本。然后在浏览器中转到 Github,确保您已登录,单击右上角的用户图标,然后转到 。在settings左侧菜单中,您将看到SSH and GPG Keys。单击该按钮(如果遇到问题,请访问https://github.com/settings/keys )。单击New SSH Key,在标题中输入标识您的密钥所在计算机的名称,然后将公钥粘贴到字段中Key。击中Add SSH Key即可完成。
您现在应该可以通过 SSH 进行克隆,因此再次尝试 git 克隆,看看效果如何。
注意:您还可以通过 HTTPS 等进行克隆,鉴于您的存储库是公开的,这将帮助您解决此问题,但是从长远来看,最好为 SSH 设置密钥身份验证并沿着这条路径走下去。