Linux下如何管理多个git ssh密钥

本文介绍了一种在Linux环境下配置Git并解决SSH密钥冲突的方法。作者在更改邮箱后重新配置了Git,并尝试生成新的SSH密钥用于GitHub,但遇到了与之前为码云创建的密钥冲突的问题。通过重命名旧密钥并设置特定的SSH配置文件,最终成功解决了连接问题。

问题:

今天在github上建立了账号,因为自己邮箱的改动,所以我在Linux下重新对git进行全局配置,用以为github生成新的私钥与公钥,但是我的/.ssh/文件夹下有以前为码云创建的密钥,故我把以前的私钥与公钥更名,然后发现不能连接到码云

解决过程:

[wt@localhost ~] $ git config --global user.name "wangtao"                     //  Linux上

[wt@localhost ~] $ git config --global user.email "TAlicer@163.com //对git进行全局配置

[wt@localhost ~] $  ssh-keygen -t rsa -C "TAlice@163.com"

Generating public/private rsa key pair.

Enter file in which to save the key (/home/guowenxue/.ssh/id_rsa): 按回车

/home/guowenxue/.ssh/id_rsa already exists.

Overwrite (y/n)? y

Enter passphrase (empty for no passphrase): 按回车

Enter same passphrase again: 按回车

Your identification has been saved in /home/wt/.ssh/id_rsa  私钥

Your public key has been saved in /home/wt/.ssh/id_rsa.pub  公钥

但是我的/.ssh/文件夹下有以前为码云创建的密钥,故我把以前的私钥与公钥重命名为id_rsa1,id_rsa1.pub

即为:

[wt@localhost .ssh]$ ls

id_rsa  id_rsa1  id_rsa1.pub  id_rsa.pub

然后我做码云连接测试一直出现错误

[wt@localhost ~] $ ssh -T git@git.oschina.net

Permission denied (publickey).

解决办法是在/.ssh/下新建一个config文件(无文件后缀名!!!),内容为

Host就是你的git仓库的域名或者IP,例如:github、码云的域名~ 
IdentityFile指定你连接git仓库的私有密钥文件路径,前提是把密钥名改为相应的名字

然后我们再做码云连接测试

[wangtao@centos6 ~]$ ssh -T git@git.oschina.net

Welcome to Gitee.com, TAlice!

ok!

另外,从github上克隆项目的时候出现

Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.

可以修改hosts文件消除警告,添加192.30.252.128  github.com

[wt@localhost ~]$ sudo vim /etc/hosts

### 如何在Linux系统中为Git生成SSH密钥Linux 环境下,可以通过 `ssh-keygen` 工具生成用于 GitSSH 密钥。以下是详细的说明: #### 使用 `ssh-keygen` 命令生成 SSH 密钥 通过运行以下命令可以生成一个新的 RSA 类型的 SSH 密钥,其位数设置为 4096,并附加一个电子邮件作为标签以便识别[^1]。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 执行上述命令后,程序会提示指定保存密钥文件的位置,默认路径通常是 `~/.ssh/id_rsa`。如果希望将其存储在其他位置或者创建额外的密钥,则可以选择自定义路径[^4]。 接着,系统还会询问是否要设定密码保护该私钥;建议设置强密码以增加安全性,但如果不需要也可以直接按回车跳过此步骤[^5]。 完成以上操作之后,在所选目录里就会存在两个新文件——一个是扩展名为 `.pub` 的公钥文件,另一个是没有扩展名的对应私钥文件。 #### 配置生成好的SSH公钥至远程服务端如GitHub 为了使生成后的 SSH 公钥能够被 GitHub 接受并验证身份,需将刚刚产生的 .pub 文件中的内容复制粘贴到 GitHub 账户下的相应配置区域[^3]。具体做法如下: - 登录自己的 GitHub 页面; - 进入右上角头像下方拉出菜单里的 **Settings**(设置); - 向下滑动页面直到看到左侧边栏内的选项 "**SSH and GPG keys**"; - 点击右侧绿色加号图标旁边的链接文字 “New SSH key”; - 将之前提到过的 .pub 文件全部内容填入表单框内提交即可。 这样就完成了整个流程,现在应该可以用这个新的 SSH Key 对关联项目库做 push/pull 操作而无需每次都输入用户名和密码了。 ```bash cat ~/.ssh/id_rsa.pub ``` 使用上面这条指令查看刚建立起来的那个公开钥匙的内容,然后把它拷贝下来准备上传给目标平台比如刚才说的Github网站那里去绑定认证关系。 ### 注意事项 对于那些需要管理多套不同凭证的情况来说(例如分别代表公司和个人),记得按照各自需求单独制作相应的key对儿出来,并且明确区分好它们各自的用途范围以及匹配的目标服务器地址等等细节信息[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TAlice

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值