gitlab及ssh 连接

Posted 愤怒理科直男

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gitlab及ssh 连接相关的知识,希望对你有一定的参考价值。

gitlab docker 搭建

 

docker run --detach --publish 9443:443 --publish 9090:80 --publish 9022:22 --name gitlab  --hostname 192.168.136.136 --restart always  -v /home/software/gitlab/etc:/etc/gitlab -v /home/software/gitlab/logs:/var/log/gitlab -v /home/software/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime:ro --privileged=true gitlab/gitlab-ce:latest   

 

配置ssh

 

 

remote: GitLab:You are not allowed to force push code to a protected branch on this project

git push -f origin master

remote: GitLab:You are not allowed to force push code to a protected branch on this project

Master分支被保护:

进入项目gitlab 网页版: 设置(Settings)-仓库(Repository) --

 

1.可以直接点该分支旁的Unprotect按钮,解除保护,但是这种方法不推荐

2.第二种方法是在Allowed to push下选择允许那些角色或具体那些用户可以提交,在这里可以选择你自己

设置完毕后再重新提交就成功了。



SSH 参数配置有3个层次:

  1. 命令行参数,如-p 10086, -i /path/to/identity_file 等选项来设置SSH的端口号或认证证书位置
  2. 针对某个用户的配置文件,所在路径为~/.ssh/config,默认是不存在的,需要手动创建
  3. 针对系统所有用户的配置文件,,所在路径为/etc/ssh/ssh_config 参数重要性的顺序也是1>2>3,即越近的配置重要性越高。这里主要讲述第2种情况下的配置方式,即针对~/.ssh/config文件的写法进行说明。

 

添加config文件

在上述.ssh目录下,手动新增一个config 文本文件,为每个账号配置一个Host节点。主要配置项说明:

 

 

配置文件内容:

 


 

# user1配置

Host gitee.com                

HostName gitee.com

IdentityFile C:\\Users\\cassmall\\.ssh\\id_rsa

PreferredAuthentications publickey

User xxxxx@163.com

 

# user2配置

Host gitee.com2              

HostName gitee.com

IdentityFile C:\\Users\\cassmall\\.ssh\\id_rsa2

PreferredAuthentications publickey

User xxx@cxxstime.com

填写说明:

Host      主机别名,git@的地址

HostName 服务器真实地址

IdentityFile  私钥文件路径

PreferredAuthentications  认证方式

User 用户名(例中为Gitee帐号),邮箱或者用户名

 

 

8.   修改局部Remote origin

 

为每给repository设置remote origin

 

 

 

$ git remote rm origin

 

$ git remote add origin git@gitee.com2:xxxx.git

 

 

 

 

 

 

 

 

 

 

注意:

 

1、git remote add origin git@<填写config中对应用的Host主机别名>:xxxx.git

 

2、如果不知道xxxx.git 地址,可以上Gitee网站复制,如下,红色选框框选部分

 

 

 

 

 

 

 

 

 

 

3、每个用户涉及都repository都要进行设置

 

 

 

9.   配置局部用户名和邮件

 

为每个repository设置局部用户名和邮件(注意:每个用户涉及都仓库都要设置

 

 

 

# 配置局部用户名

 

git config  user.name "user1_name"

 

 

 

说明:user1_name可以随意

 

 

 

# 配置局部邮件

 

git config  user.email "user1_email"

 

 

 

10.  终端测试SSH Key是否生效

 

执行以下命令ssh -vT git@<config中配置都主机别名>

 

$ ssh -vT git@gitee.com

 

 

 

 

 

 

 

 

 

 

如图,成功了

 

 

 

以上是关于gitlab及ssh 连接的主要内容,如果未能解决你的问题,请参考以下文章

gitlab发版ssh连接超时

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

通过 SSH 连接 vscode 到 gitlab 的问题

gitLab生成SSH私钥后上传代码及获取代码

尝试使用 Gitlab CI 创建 SSH 连接,错误:SSH Permission denied (publickey,password)

3SourceTree通过SSH连接GitLab