clone 公司项目的时候突然爆出一个错误 ssh_exchange_identification: read: Connection reset by peer fatal: Could not read from remote repository. 然后整理了一下方法,以便遇到这种问题的码农借鉴
这时候大家不要慌,这个问题有可能是很多问题导致的;
一、首先熟悉下mac 下生成ssh key的步骤
1.检查本机是否已有公钥
在终端中输入如下命令:cd~/.ssh
2.如果电脑中有以前遗留的密钥,将其删除掉
使用如下命令:mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*
3.生成新的公钥
终端中输入如下命令:
ssh-keygen -t rsa -C"邮箱地址"
之后终端会提示几次密码设置,如果设置了密码,在向Git仓库进行代码交互操作时需要键入密码,也可以全部回车带过,表示不需要密码。
4.成功之后打开公钥复制 到github或gitlabel 等等
终端中输入如下命令:
cat ~/.ssh/id_rsa.pub;
这个阶段是 生成ssh key;
二、当我把ssh key 复制到 gitlabel 克隆ssh 代码的时候 出现了ssh_exchange_identification: read: Connection reset by peer fatal: Could not read from remote repository.
我开始以为是我的ssh key 出错 上面的步骤又重复了一遍还是老样子,
1.这时候终端查敲命令 ssh -v 出问题的ip
2.然后查看问题的详情
3.问题出在SSH-Keygen “no such file or directory”
4.如果你本地已经有 ssh-agent 服务 在服务 ssh-agent 中 把新增的 ssh-key 所在的地址添加进去
5.如果没有启动ssh-agent 服务要启动一下在add
6.然后测试一下ip 是否可以ssh访问 ssh -T xxxx
好了 我的问题解决了 可以开心去克隆代码了;
三、另外Mac上配置多个ssh-key
本地已经存在了一个ssh-key(id_rsa),现在重新生成一个 ssh-key
ssh-keygen -t rsa -C"邮箱地址"
接着,自定义一个不重复的名字,在服务 ssh-agent 中 把新增的 ssh-key 所在的地址添加进去 就可以用了