本文的环境是在ubantu下
如果同学你在使用ssh方式从github或者gitlab上clone项目的时候遇到这个问题,而使用http方式clone项目是正常的,
同时,你的 id_rsa.pub 公钥配置也正常,那么你可以通过以下方式解决:
1、如果没有在github或者gitlab配置公钥 需要先配置公钥
ssh-keygen -t rsa -C "你的工作邮箱" //生成ssh私钥和公钥
cat $HOME/.ssh/id_rsa.pub //查看公钥
将公钥复制粘贴到 github或者gitlab的settings 中 有提示ssh的位置(gitlab不同版本位置不一样)
sudo git clone git@xxxx.com:xxxx.git
clone项目, 一般而言,这样子是可以成功的,但是如果没有成功,可以将ssh生成的秘钥删除掉,重新生成然后配置,如果还不行,注意自己git init的文件夹是否在当前用户下 $HOME/自己创建的文件夹,如果你的git init 文件夹是放在/usr/local/自己创建的文件夹 这些地方,是会造成失败的,原因是当前用户ssh访问不到,sudo访问的是root用户的ssh
2、解决方法:
将目前的git 仓库删除
sudo rm -r 含有.git文件夹
cd /$HOME
mkdir projects //创建一个文件夹 名字自己命名
cd projects
ssh git@xxxx.com //测试连接
git clone git@xxxx.com:xxxx.git //克隆项目 注意没有sudo
网友评论