对于开源托管网站GitHub大家应该不陌生吧,以前一直设置的是github上面的ssh公钥,一直没有发生什么问题,今天在遇到一个问题:git同时把代码push到两个远程仓库。所以就在github和osc上建立了两个测试远程仓库,但是osc我没有经常使用,所以有配置了一次ssh公钥,但是,提交的时候一直‘拒绝提交’。很想不通,我试着 ‘ ssh -T [email protected]’ ,结果 ‘welcome’了,clone也可以,最后在发现我设置的是项目部署公钥! 汗!!!!

  在此做个记录:

osc

  1、在你的个人资料中有一个SSH公钥,

OSC和GitHub中项目公钥和管理公钥-LMLPHP

  2、是在你的每个项目中都有一个部署公钥管理(部署公钥配置后的机器,只支持clone与pull等只读操作.)。

OSC和GitHub中项目公钥和管理公钥-LMLPHP

GitHub

  下面这两个的作用和上面是对应的

1、ssh keys

OSC和GitHub中项目公钥和管理公钥-LMLPHP

2、 Deploy keys

OSC和GitHub中项目公钥和管理公钥-LMLPHP

总结一下  

  第一种公钥相当于设置管理员权限一样,你可以clone、pull、【push】

  第二种是项目公钥,为了安全起见只允许,clone和pull

  所以如果当你想要push时代码到远程库不要密码时,那就设置公钥到第一中

05-11 22:59