gitlab两种链接方式:ssh和http配置介绍

 

gitlab环境部署好后,建立project工程,在本地或远程下载gitlab代码,有两种方式:ssh和httphtml

1)ssh方式:这是一种相对安全的方式
要求将本地的公钥上传到gitlab中,以下图:git

window客户机设置ssh方式链接gitlab,请见http://www.cnblogs.com/kevingrace/p/5651402.html(文章底部有介绍)安全

2)http链接方式bash

这种方式要求project在建立的时候只能选择“Public”公开状态,Private和Internal私有模式下不能使用http方式进行链接。(ssh方式在三种模式下均可以)。使用http方式直接链接gitlab显然没有ssh链接方式安全,可是也能够作些安全设置,好比在gitlab本机的iptables里作端口限制(如上是8081端口),添加白名单等。ssh

 

 

===================================================
gitlab上建立的项目仓库,要注意该仓库下的members权限,若是某个gitlab用户没有设置在该仓库members权限下,则使用该gitlab用户进行git clone操做能够,可是进行git push则会失败!报错:remote: GitLab: You are not allowed to push code to protected branches on this project.gitlab

好比,使用gitlab的kevin用户进行git上传下载操做,kevin用户默认没有加到scanhost.git项目仓库的member权限下。
1)git clone是能够的
[root@test ~]# git config --global user.name "王士博"
[root@test ~]# git config --global user.email "kevin@veredholdings.com"
[root@test ~]# git clone http://gitlab.kevin-inc.com/fanglianchao/scanhost.git
[root@test ~]# cd scanhost

2)git push则不容许,没有权限
[root@test ~]# touch README.md
[root@test ~]# git add README.md
[root@test ~]# git commit -m "add README"
[root@test ~]# git push -u origin master
.......
remote: GitLab: You are not allowed to push code to protected branches on this project.
To http://gitlab.kevin-inc.com/fanglianchao/scanhost.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://gitlab.kevin-inc.com/fanglianchao/scanhost.git'

须要将kevin用户加入到scanhost.git项目仓库的member权限里,这样就有权限进行git push了!
相关文章
相关标签/搜索