SSH连接gitlab省去了每次push工程时输入账号密码的流程,具体操作过程可概括为以下几步——1.生成本地主机的SSH密钥;2.在gitlab远程服务器上添加SSH公钥;3.测试连接是否成功。
1.生成本地主机的SSH秘钥。
进行git的基本配置
$ git config --global user.name "user.name" # 设定用户名
$ git config --global user.email "user.email" # 设定邮箱
生成本地主机的SSH秘钥(为简单起见,输入命令后直接三个回车,不设定密码)。
ssh-keygen -t rsa -C “user.email” # 生成秘钥
执行命令后在用户目录下会生成一个.ssh的目录,其中有公钥和私钥。
2.在gitlab远程服务器上添加SSH公钥。
输入以下命令打开公钥,将内容复制进远程服务器保存公钥的地方,保存之,如下图所示。
sudo gedit xxx.pub
3.测试连接是否成功。
输入以下命令测试是否能成功连接。
ssh git@gitlab.com
应该不会那么顺利而出现下图情况。
输入以下命令可以解决该问题。
eval "$(ssh-agent -s)"
ssh-add
可以将gitlab主机加入known_hosts中,输入如下命令实现。
ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts
再试一次,输入如下命令。
ssh git@gitlab.com
成功!