Git clone或pull出现Permission denied解决方案

0x1 创建自己的专属SSH密钥

每个用户在公共开发机生成一对自己专属的SSH密钥,用-f参数指定你的密钥对的位置把下面例子中的hexiaoyan02换成你的名字,一路回车

ssh-keygen -t rsa -f ~/.ssh/id_rsa.hexiaoyan02  

0x2 ~/.ssh/config配置密钥

cd ~/.ssh  
vi config  
# 添加以下内容
Host icode.baidu.com  
User hexiaoyan02  
IdentityFile ~/.ssh/id_rsa.hexiaoyan02  

完成后cat ~/.ssh/config是这样的

#张三访问icode.baidu.com的时候,用的是~/.ssh/id_rsa这个私钥
Host icode.baidu.com  
User zhangsan  
IdentityFile ~/.ssh/id_rsa

#hexiaoyan02访问icode.baidu.com的时候,用的是~/.ssh/id_rsa.hexiaoyan02这个私钥
Host localhost  
User zhangsan  
IdentityFile ~/.ssh/id_rsa.hexiaoyan02  

0x3 配置完成后,将公钥配置到icode上

cat ~/.ssh/id_rsa.hexiaoyan02.pub  

在iCode右上角>个人设置>添加SSH Keys

0x4 其他

若出现Bad owner or permissions on /home/jenkins/.ssh/config,执行:

chmod 600 ~/.ssh/*