zoukankan      html  css  js  c++  java
  • gitlab两种连接方式:ssh和http配置介绍

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

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

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

    2)http连接方式

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

    ===================================================
    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的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了!
  • 相关阅读:
    linux RCU锁机制分析
    什么是上下文切换
    Linux内核哈希表分析与应用
    linux内核中hlist_head和hlist_node结构解析
    如何使用queue_delayed_work函数
    《Linux内核设计与实现》读书笔记(十)- 内核同步方法
    自旋锁,读写锁和顺序锁的实现原理
    C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
    深入理解linux系统下proc文件系统内容
    以太网最小帧长为什么是64字节
  • 原文地址:https://www.cnblogs.com/kevingrace/p/6114810.html
Copyright © 2011-2022 走看看