git如何创建多个sshkey
时间: 2024-02-08 22:36:58 浏览: 27
要为不同的项目使用不同的SSH密钥,您需要为每个密钥创建一个单独的SSH配置文件。按照以下步骤操作:
1. 打开终端并创建一个名为config的新文件:
`$ touch ~/.ssh/config`
2. 编辑新创建的文件并添加以下内容,替换您自己的密钥和主机名:
```
# Project 1
Host github.com-project1
HostName github.com
User git
IdentityFile ~/.ssh/project1
# Project 2
Host github.com-project2
HostName github.com
User git
IdentityFile ~/.ssh/project2
```
3. 生成新的SSH密钥对:
`$ ssh-keygen -t rsa -b 4096 -C "project1@example.com" -f ~/.ssh/project1`
`$ ssh-keygen -t rsa -b 4096 -C "project2@example.com" -f ~/.ssh/project2`
4. 将每个公钥添加到相应的GitHub项目中。
现在,当您使用git命令连接到GitHub项目时,请确保使用正确的主机名和SSH密钥。例如:
`$ git clone git@github.com-project1:user/repo.git`
该命令将使用名为project1的SSH密钥对进行身份验证。
相关问题
git建立多个ssh
回答: 在使用git时,有时候我们需要配置多个ssh,比如公司的ssh和github的ssh。重新生成ssh-key会导致原来的github上的ssh失效,所以我们需要设置多个ssh。首先,我们可以使用ssh-keygen命令生成不同的ssh-key。比如,我们可以生成一个公司用的SSH-Key和一个github用的SSH-Key。生成公司用的SSH-Key的命令是:ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa,生成github用的SSH-Key的命令是:ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa。接下来,在~/.ssh目录下新建一个config文件,并添加相应的配置信息。比如,我们可以添加以下内容到config文件中:
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
这样,我们就可以在使用git时,根据需要选择不同的ssh进行操作了。
#### 引用[.reference_title]
- *1* [git配置多个ssh](https://blog.csdn.net/RQ997832/article/details/124638707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [git创建多个SSH-Key](https://blog.csdn.net/qq_29235677/article/details/122616611)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Git配置多个SSH-Key](https://blog.csdn.net/lzqxz_/article/details/127365660)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
配置多个ssh-key
1. 生成新的ssh-key
使用以下命令生成新的ssh-key:
```
ssh-keygen -t rsa -C "your_email@example.com" -f ~/.ssh/new_key
```
在命令中:
- -t:指定使用的密钥类型,这里使用rsa;
- -C:指定注释,一般填写你的邮箱地址;
- -f:指定生成的密钥文件名和路径,这里生成的是~/.ssh/new_key。
随后,会提示你输入密钥的密码(可以为空)。
2. 添加新的ssh-key到ssh-agent
输入以下命令将新的ssh-key添加到ssh-agent:
```
ssh-add ~/.ssh/new_key
```
如果出现错误提示“Could not open a connection to your authentication agent”,则需要先启动ssh-agent:
```
eval "$(ssh-agent -s)"
```
再执行ssh-add命令。
3. 将新的ssh-key添加到GitHub
将新生成的公钥(~/.ssh/new_key.pub)添加到GitHub账户的SSH keys中。
4. 配置ssh config
打开~/.ssh/config文件,添加以下内容:
```
# Default GitHub
Host github.com
HostName github.com
IdentityFile ~/.ssh/github_rsa
# New SSH Key
Host github-new
HostName github.com
IdentityFile ~/.ssh/new_key
```
其中,Host和HostName填写GitHub的域名,IdentityFile填写对应的私钥文件路径。
5. 测试
输入以下命令测试新的ssh-key是否可以连接GitHub:
```
ssh -T git@github-new
```
如果显示以下信息,则说明连接成功:
```
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
```