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个层次:
- 命令行参数,如
-p 10086
,-i /path/to/identity_file
等选项来设置SSH的端口号或认证证书位置 - 针对某个用户的配置文件,所在路径为
~/.ssh/config
,默认是不存在的,需要手动创建 - 针对系统所有用户的配置文件,,所在路径为
/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 CI 创建 SSH 连接,错误:SSH Permission denied (publickey,password)