2019-04_Git实现github和gitlab账号SSH免密配置

本文详细介绍了如何生成SSH密钥,配置Git多账号,并分别在GitLab和GitHub上进行验证。同时,提供了用户级别和仓库级别的Git配置方法,确保不同平台的代码管理清晰、高效。
1、 生成秘钥
$ cd ~/.ssh/
# 命令输入完,需自定义命名为:id_rsa_gitlab和id_rsa_github
ssh-keygen -t rsa -C "33999***@qq.com"
ssh-keygen -t rsa -C "33999***@company.com"
2、添加秘钥
# 把专用密钥添加到 ssh-agent 的高速缓存中: 
ssh-add ~/.ssh/id_rsa_gitlab
ssh-add ~/.ssh/id_rsa_github

# 从ssh-agent中删除密钥: 
ssh-add -d ~/.ssh/id_rsa_gitlab.pub
ssh-add -d ~/.ssh/id_rsa_github.pub

# 查看ssh-agent中的密钥: 
ssh-add -l

注:如果在使用shh-add的时候提示:
Could not open a connection to your authentication agent.
则需手动开启ssh,如下;

ssh-agent bash
3、 将gitlab公钥即id_rsa.pub中的内容配置到gitlab和gitbub
4、 进入密钥生成的位置,创建一个config文件,添加配置
$ cd ~/.ssh/
# gitlab(1****64@qq.com)
    Host gitlab.com
  HostName gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_gitlab
  User lvtong

# github(j****4@163.com)
    Host github.com
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_github
  User jackaroo2020
4、测试
$ cd ~/.ssh/
# $ ssh -T git@github.com
$ ssh -T git@gitlab.com
5. 用户级别配置
  • 公司的代码使用频率较高,将git配置文件的global(用户级别)设置为公司的gitlab账号
$ git config --global user.name 'test' #公司账号名称
$ git config --global user.email 'test@companyName.com' #公司账号邮箱
  • 仓库级别配置,将local(仓库级别)配置成github的账号
$ git config --local user.name 'test' #github账号名称
$ git config --local user.email 'test@test.com' #github账号邮箱
  • 克隆代码
$ git clone git@github.com:test/demo.git
### 配置GitSSH实现码登录 #### 检查现有SSH密钥 在开始之前,应当确认本地是否存在已有的SSH密钥对。可以通过命令`ls -al ~/.ssh`来查看是否有文件名为`id_rsa.pub`(公钥)`id_rsa`(私钥)。如果这些文件不存在,则意味着还没有创建过SSH密钥对[^1]。 #### 创建新的SSH密钥对 当检测到没有现成的SSH密钥时,可以执行如下命令生成一个新的SSH密钥: ```bash ssh-keygen -t rsa -C "your_email@example.com" ``` 此操作会提示输入保存位置,默认情况下可以直接按回车键接受默认路径;接着会被询问是否要设置码保护该私钥——对于自动化流程来说通常不需要设置码以达到真正的无交互式访问效果,因此这里也可以直接按下回车跳过这一步骤[^4]。 #### 添加新生成的SSH公钥至Git服务提供商账户 完成上述步骤后,在用户的`.ssh`目录下将会找到一对刚产生的SSH密钥文件。现在需要做的是把其中的公钥内容复制粘贴到目标平台(如GitHub/GitLab等),具体方法是在网页端登录个人账号并导航至相应的设置页面添加SSH key。例如,在GitLab中应前往Profile Settings下的SSH Keys选项卡点击“Add SSH Key”,并将从本地获取的内容填入指定区域[^3]。 #### 测试连接 最后一步是为了验证配置是否成功,可以在终端运行下面这条指令来进行测试: ```bash ssh -T git@github.com # 如果是针对GitHub的话 # 或者 ssh -T git@gitlab.com # 对于GitLab而言 ``` 一旦看到类似“Hi username! You've successfully authenticated...”的消息即表示一切正常[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值