操作前说明

公司项目一般都是使用GitLab进行代码托管,所以提交代码前要确保你已经注册好GitLab账号,由于本地Git仓库和GitLab仓库之间的传输是通过SSH加密的,所以这就需要你通过本地ssh密钥跟远程仓库建立连接。SSH密钥使您可以在计算机和GitLab之间建立安全连接

操作如下

1. 输入以下命令,检查本地电脑是否已经建立了ssh密钥(不排除公司电脑或者你自己的电脑之前已经注册过密钥)

ls -al ~/.ssh

gitlab 容器 ssh无法生效 gitlab ssh配置_gitlab


注意:如果出现了id_rsa.pub这个文件就可以跳过下面操直接到第几步骤,如果没有,则按照下面顺序执行操作。

2. 没有上述文件的就需要自己输入命令行,回车自动生成ssh密钥。

ssh-keygen -t rsa -C "这里敲你的邮箱账号"

gitlab 容器 ssh无法生效 gitlab ssh配置_命令行_02


注意:-C后面的引号内输入自己的邮箱地址,出现填写的内容时直接回车使用默认值就可以了。如果这个密钥不是用于军事那块也不是特殊机密那块,也无可以不用设置密码。

3. 生成密码后再敲第一步的 ls -al ~/.ssh 命令行可以查看到id_rsaid_rsa.pub两个文件,这两个是SSH Keys的秘钥对,id_rsa是私钥,不能暴露,id_rsa.pub是公钥,可以用于建立信息连接。

4. 执行下面命令行,进入文件夹下,打开id_rsa.pub文件,复制里面的全部内容。再去gitlab上登录自己的账号,进入setting里面进行公钥配置。

gitlab 容器 ssh无法生效 gitlab ssh配置_gitlab_03

gitlab 容器 ssh无法生效 gitlab ssh配置_git_04


gitlab 容器 ssh无法生效 gitlab ssh配置_ssh_05

gitlab 容器 ssh无法生效 gitlab ssh配置_ssh_06


5. 输入以下命令,检测是否建立连接成功。对应出现Welcome to GitLab,xxx,即证明成功

ssh -T 注册邮箱号

`

最后说明

建立连接成功后可以执行命令操作,但是如果执行命令出现下面这种情况的时候,如果你本身是有权限的,但是操作失败说没有权限。

gitlab 容器 ssh无法生效 gitlab ssh配置_命令行_07


这个应该是跟你的known_hosts里面的默认地址有关,你可以删除里面的内容,就是为空文件了,等执行命令时出现提示就输入yes,自动生成对应的地址文件,就可以了。

gitlab 容器 ssh无法生效 gitlab ssh配置_gitlab 容器 ssh无法生效_08