运行配置修改后无法 git clone

Posted

技术标签:

【中文标题】运行配置修改后无法 git clone【英文标题】:Unable to git clone after running config modification 【发布时间】:2018-05-31 11:14:45 【问题描述】:

当尝试 git clone 一个分叉的存储库时,我收到以下消息

/Users/userName/.ssh/config: line 2: Bad configuration option: st
/Users/userName/.ssh/config: terminating, 1 bad configuration options
fatal: Could not read from remote repository.

我在使用 git 之前没有遇到任何问题,直到我今天早些时候从我在尝试通过公共 wifi 克隆时发现的帖子中运行了这个脚本 -

https://***.com/questions/7953806/github-ssh-via-public-wifi-
port-22-blocked

我对 git 很陌生,所以我真的对正在发生的事情感到迷茫。我相信我必须修改我的配置文件,但我不确定如何更正它。

【问题讨论】:

分叉的 repo 是否也托管在 github 中?您是否在您的 github 帐户中添加了 SSH 公钥(在 id_rsa.pub 中)?你现在的 ssh 配置是什么? @MarinaLiu-MSFT 是的,repo 托管在 github 中。我没有将 SSH 密钥添加到我的 github,我现在不知道如何检查我的配置。你能指导我还是告诉我如何撤消我从帖子中制作的模组? 我添加了一个关于如何重新生成ssh密钥并将密钥添加到github进行认证的答案,你可以试试。 【参考方案1】:

SSH 密钥无需额外配置。

如果您对 SSH 密钥进行了修改,您可以生成一个新的来替换当前的:

ssh-keygen

然后按回车完成 ssh 密钥生成。

然后在github中添加新生成的SSH密钥

Github -> Settings (https://github.com/settings/keys) -> New SSH key -> 命名标题 -> 打开文件id_rsa.pub 并将文件内容复制为github中的key(如下图) -> 添加SSH 密钥。

现在从github再次克隆,应该克隆成功(如果.ssh文件夹下有config文件,则config文件应该被删除)。

【讨论】:

你是否使用了git@github.com:username/repo.git的repo URL格式?或者你能在这里显示你使用的命令和整个输出吗? 请删除配置文件/Users/userName/.ssh/config,然后重试。生成ssh key后,只生成三个文件:id_rsaid_rsa.pubknown_hostsconfig文件主要是你之前手动添加的。 在你的本地机器上。 config 文件位于/Users/userName/.ssh 目录下。所以只需在本地机器中找到该文件并将其删除,然后再次克隆。 嗯,但根据您的 git clone 命令的输出,您似乎拥有配置文件:/Users/userName/.ssh/config: line 2: Bad configuration option: st ...。你把它改成隐藏文件了吗? 既然你的问题已经解决了,你可以标记答案。它也将使其他有类似问题的人受益:)

以上是关于运行配置修改后无法 git clone的主要内容,如果未能解决你的问题,请参考以下文章

git clone失败后无法删除文件夹

git项目使用http形式clone下来,无法安装依赖问题

git项目使用http形式clone下来,无法安装依赖问题

git项目使用http形式clone下来,无法安装依赖问题

gitlab ssh clone设置

为啥我使用 unshare(CLONE_NEWUSER) 后无法运行某些程序