本文的環(huán)境是在ubantu下
如果同學(xué)你在使用ssh方式從github或者gitlab上clone項目的時候遇到這個問題渣窜,而使用http方式clone項目是正常的铺根,
同時,你的 id_rsa.pub 公鑰配置也正常乔宿,那么你可以通過以下方式解決:
1位迂、如果沒有在github或者gitlab配置公鑰 需要先配置公鑰
ssh-keygen -t rsa -C "你的工作郵箱"? ? ?//生成ssh私鑰和公鑰
cat $HOME/.ssh/id_rsa.pub? ? ? //查看公鑰
將公鑰復(fù)制粘貼到 github或者gitlab的settings 中 有提示ssh的位置(gitlab不同版本位置不一樣)
sudo git clone??git@xxxx.com:xxxx.git
clone項目, 一般而言详瑞,這樣子是可以成功的掂林,但是如果沒有成功,可以將ssh生成的秘鑰刪除掉坝橡,重新生成然后配置泻帮,如果還不行,注意自己git init的文件夾是否在當(dāng)前用戶下 $HOME/自己創(chuàng)建的文件夾计寇,如果你的git init 文件夾是放在/usr/local/自己創(chuàng)建的文件夾? 這些地方锣杂,是會造成失敗的,原因是當(dāng)前用戶ssh訪問不到番宁,sudo訪問的是root用戶的ssh
2元莫、解決方法:
將目前的git 倉庫刪除
sudo rm -r 含有.git文件夾
cd /$HOME
mkdir projects //創(chuàng)建一個文件夾 名字自己命名
cd projects
ssh?git@xxxx.com? //測試連接
git clone??git@xxxx.com:xxxx.git? ?//克隆項目 注意沒有sudo