之前自己在服务器上搭建了GitLab, 安装配置GitLab , 使其能web页面访问, pull, push, clone 等都成功了. ssh 形式要弄生成配置 ssh秘钥, 之前没弄过, 在网上查了一些文章博客, 有本地Windows电脑 生成配置的, 有在服务器Git 命令生成配置的. 然后在GitLab 中配置SSH 秘钥. 在GitLab 中配置倒是都一样, 就是这个一个服务器中生成, 一个本地电脑生成有什么区别呢? 本地电脑生成那是为了本地电脑与GitLab建立起关联, 免密登录, ssh加密传输, GitLab认证本地的ssh key后好进行一系列操作. 那服务器中生成呢?
本地Windows电脑 生成 SSH 密钥
1 确认本地秘钥
SSH 秘钥默认储存在账户的主目录下的 ~/.ssh 目录 (也就是本地电脑C盘你的账户下)
如:C:UsersBF100400.ssh
查看是否包含id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有.pub 后缀的文件就是公钥,另一个文件则是密钥。
如果有这两个文件,则跳过1.2;如果没有这两个文件,甚至.ssh目录也没有,则需要用ssh-keygen 来创建
2 生成秘钥信息
- 在.ssh 目录下右键打开Git Bash(.ssh目录不存在,则在任一目录下操作,或者手动创建该目录)
- 生成秘钥:ssh-keygen -t rsa -C "your_email@youremail.com" ,直接Enter就行,然后会提示输入密码(可输可不输)
说明:命令中的email,就是gitlab中的账号,需要保持一致
- 执行完成之后,在.ssh 目录下就会生成秘钥文件(没有.ssh目录的会自动生成,手动创建的则不会重复生成)
服务器生成 SSH 密钥
生成ssh-key,默认一路回车即可
在~/.ssh/下会生成两个文件,id_rsa和id_rsa.pub
id_rsa是私钥
id_rsa.pub是公钥
gitlab添加秘钥
访问登录GitLab, 登录进去后, 搜索ssh, 或ss 就会有提示 设置---> ssh密钥. 点击进入ssh密钥添加页面. 把id_rsa.pub中的信息输入到key输入框中,title可以随便起,见名知意即可。然后点击Add Keys即可