win10 git 生成 ssh key ,配置到GitLab
当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。但是网上很少找到如何用git客户端生成ssh key,然后配置在gitlab,我当时在做的时候苦于摸索,后来终于找到了解决方案,那么本文,我们就来聊一聊如何本地git客户端生成ssh key,然后配置在gitlab里,而后使用ssh协议进行提交和拉取git远程仓库的代码。
二、解决方案
-
右键打开本地git bash,使用如下命令生成ssh公钥和私钥对(-C 参数是你的邮箱地址)
ssh-keygen -t rsa -C 'xxx@xxx.com'
然后一路按回车即可,如果第二步passphrase输入了密码,每次提交代码拉取代码都要输入密码,很麻烦。所以不用输入密码,直接回车
-
然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容
-
打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
4. 到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了
5. 再试一下拉取代码和提交代码,应该就不需要输入密码了
三、本地配置多个ssh key
大多数时候,我们的机器上会有很多的git host,比如公司gitlab、github、oschina等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github为例):
-
为公司生成一对秘钥ssh key
ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa
-
为github生成一对秘钥ssh key
ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa
-
在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:
# gitlab Host gitlab.com HostName gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_id-rsa # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_id-rsa # 配置文件参数 # Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件 # HostName : 要登录主机的主机名 # User : 登录名 # IdentityFile : 指明上面User对应的identityFile路径
- 按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
-
OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。
-
再次查看~/..ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件
相关文章
- Git ssh 配置及使用
- Vagrant的SSH连接小技巧
- Python实现ssh远程执行
- 【说站】jenkins配置ssh服务器并配置ssh servers
- h3c 配置ssh登录_H3交换机SSH跳转
- linux本地虚拟机ssh配置
- SecureCRT for Mac(强大的终端SSH工具)
- xshell5使用ssh连接阿里云服务器的实现步骤
- Linux配置SSH和Xshell连接服务器的教程(图解)
- SSH免密码登录详解程序员
- SSH重新登录的问题详解大数据
- Linux重启SSH服务的正确操作(linux重启ssh服务)
- Linux快速配置Git环境(linux配置git)
- Linux下修改SSH连接端口的方法(linux修改ssh端口)
- 登录Linux远程配置SSH安全登录(linux远程配置ssh)
- 搭建Linux外网SSH访问环境(linux外网访问ssh)
- Linux SSH远程访问:安全优选端口号(linuxssh端口号)
- Linux查看SSH端口:一步步指引(linux查看ssh端口)
- Linux安装与配置SSH连接(linux如何配置ssh)
- 服务器重启Linux服务器:通过SSH连接来实现(ssh重启linux)
- 环境配置Linux下的Git环境:一步一步(git配置linux)
- 如何使用 byobu 复用 SSH 会话
- 使用Linux终端轻松SSH登录远程主机(linux终端ssh)
- 【Linux下 SSH 安全配置指南】(sshlinux配置)
- 密钥让Linux之安全性升华:设置SSH密钥(设置linuxssh)
- 快速搭建SSH项目Redis配置指南(ssh项目配置redis)
- SSH远程配置Redis实现服务器性能优化(ssh 配置 redis)
- 实现远程访问利用SSH整合Redis配置(ssh整合redis配置)