<commit_before>---
layout: post
title: git多用户配置
date:       2017-07-06
author:     Seaton
catalog: true
tags:
    - 工具
---

创建git账号时应根据使用环境及属性定义名称，不可使用默认`id_rsa`

## 分别创建user1,user2的SSH Key

```shell
#新建SSH key:
$ cd ~/.ssh   // 切换到.ssh目录
ssh-kengen -t rsa -C "<EMAIL>"  // 新建user1的SSH key
# 回车，设置保存文件名,在原有id_rsa后加上标识
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): id_rsa_work
```
##  新密钥添加到SSH agent中

 ```shell       
ssh-add ~/.ssh/id_rsa_work
```
如果出现`Could not open a connection to your authentication agent`的错误，使用以下命令，再执行添加：

```shell
ssh-agent bash
 ```       
### 修改config文件，将账户以及git服务器与对应密钥关联

在`~/.ssh`目录下找到config文件，如果没有就执行创建命令:

```shell
touch config
```
然后修改内容如下（参考）：

```shell       
# user1
Host github.com
HostName github.com
User user1
IdentityFile C:/Users/Administrator/.ssh/id_rsa_work

# user2
Host gitlab.com
HostName gitlab.com
User user2
IdentityFile C:/Users/Administrator/.ssh/id_rsa_pro
```

## 添加SSH Key

将生成的`*.pub`文件内容添加至github、gitlab后台<commit_msg>docs: 更新文档<commit_after>---
layout: post
title: git多ssh-key配置
date:       2017-07-06
author:     Seaton
catalog: true
tags:
    - 工具
---

创建git账号时应根据使用环境及属性定义名称，不建议使用默认`id_rsa`

## 分别创建github, gitlab的SSH Key

```shell
#新建SSH key:
$ cd ~/.ssh   // 切换到.ssh目录
ssh-kengen -t rsa -C "<EMAIL>"  // 新建github的SSH key
# 回车，设置保存文件名,在原有id_rsa后加上标识
Enter file in which to save the key (/Users/Administrator/.ssh/id_rsa): id_rsa_github
# 输入密码 & 确认密码，可为空
Enter passphrase (empty for no passphrase): 
Enter same passphrase again:
```
##  新密钥添加到SSH agent中

 ```shell       
ssh-add id_rsa_github
```
如果出现`Could not open a connection to your authentication agent`的错误，使用以下命令，再执行添加：

```shell
ssh-agent bash
 ```       

### 修改config文件，将账户以及git服务器与对应密钥关联

在`~/.ssh`目录下找到config文件，如果没有就执行创建命令:

```shell
touch config
```
然后修改内容如下（参考）：

```shell       
# github
Host github.com # 别名
HostName github.com # 真实ip/域名地址，如果是 ip，不要写 http/https 前缀
User admin
IdentityFile ./id_rsa_github
PreferredAuthentications publickey # 可填写 publickey，password publickey，keyboard-interactive
```

# gitlab
Host gitlab.com
HostName gitlab.com
User admin
IdentityFile ./id_rsa_gitlab
PreferredAuthentications publickey

## 添加SSH Key

将生成的`*.pub`文件内容添加至github、gitlab

## 测试

```shell
ssh -T git@github.com
```
{'fraction_non_alphanumeric': 0.1274812527569475, 'fraction_numerical': 0.010145566828407587, 'mean_word_length': 4.16628701594533, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1745474', 'n_tokens_mistral': 1141, 'n_tokens_neox': 1167, 'n_words': 200}