git生成ssh key及本地解决多个ssh key的问题

ssh是一种网络协议,用于计算机之间的加密登录。ssh原理及应用可参考:

SSH原理与运用(一):远程登录

生成ssh key步骤

这里以配置github的ssh key为例:

1. 配置git用户名和邮箱

git config user.name "用户名"git config user.email "邮箱"

在config后加上 --global 即可全局设置用户名和邮箱。

2. 生成ssh key

ssh-keygen -t rsa -C "邮箱"

然后根据提示连续回车即可在~/.ssh目录下得到id_rsaid_rsa.pub两个文件,id_rsa.pub文件里存放的就是我们要使用的key。

3. 上传key到github

clip < ~/.ssh/id_rsa.pub
  1. 复制key到剪贴板
  • 登录github
  • 点击右上方的Accounting settings图标
  • 选择 SSH key
  • 点击 Add SSH key

4. 测试是否配置成功

ssh -T

git@github.com

如果配置成功,则会显示: Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

解决本地多个ssh key问题

有的时候,不仅github使用ssh key,工作项目或者其他云平台可能也需要使用ssh key来认证,如果每次都覆盖了原来的id_rsa

文件,那么之前的认证就会失效。这个问题我们可以通过在~/.ssh目录下增加config文件来解决。

下面以配置搜狐云平台的ssh key为例。

1. 第一步依然是配置git用户名和邮箱

git config user.name

"用户名"git config user.email "邮箱"

2. 生成ssh key时同时指定保存的文件名

ssh-keygen

-t rsa -f ~/.ssh/id_rsa.sohu -C "email"

上面的id_rsa.sohu

就是我们指定的文件名,这时~/.ssh目录下会多出id_rsa.sohuid_rsa.sohu.pub两个文件,id_rsa.sohu.pub里保存的就是我们要使用的key。

3. 新增并配置config

文件

添加config

文件

如果config

文件不存在,先添加;存在则直接修改

touch ~/.ssh/config

config

文件里添加如下内容(User表示你的用户名)

Host *.cloudscape

.sohu

.com

IdentityFile ~/.ssh/id_rsa.sohu User test

4. 上传key到云平台后台(省略)

5. 测试ssh key是否配置成功

ssh -T git@git.cloudscape

.sohu

.com

成功的话会显示:

Welcome to

GitLab, username!

至此,本地便成功配置多个ssh key。日后如需添加,则安装上述配置生成key,并修改config文件即可。

### 使用Git生成SSH密钥 为了通过Git进行安全的身份验证,可以通过以下方法生成SSH密钥: #### 1. 检查现有SSH密钥是否存在 在Windows系统中,可以按下`Win + E`组合键并导航至 `%USERPROFILE%\.ssh` 文件夹[^2]。对于Linux或Mac用户,则可以在终端运行以下命令来检查 `.ssh` 目录下的文件: ```bash cd ~/.ssh && ls ``` 如果存在名为 `id_rsa` 和 `id_rsa.pub` 的文件,则说明已经生成SSH密钥。 --- #### 2. 打开Git Bash环境 确保安装了Git工具,并右击桌面选择“Git Bash Here”选项进入交互式Shell界面[^3]。 --- #### 3. 开始生成SSH密钥 执行以下命令以启动SSH密钥生成过程: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 其中 `-t rsa` 定义加密算法类型为RSA,而 `-b 4096` 设置位数增强安全性,最后的邮箱地址作为备注信息附加到密钥中以便识别其归属者身份[^2]。 当被询问 **"Enter file in which to save the key"** 时通常只需按回车接受默认位置存储即可; 接着两次输入相同的短语密码(Passphrase),此步骤可选跳过(直接敲击回车)[^3]。 完成以上操作后即宣告新一对公私钥诞生完毕! --- #### 4. 验证生成结果 生成后的两个重要文件分别是位于`.ssh/`目录下的`id_rsa`(私人部分需保密勿泄露给任何人!)以及相对应公开版本——`id_rsa.pub`[^1]。 可通过如下方式读取公钥内容准备提交至远端服务提供商处认证绑定关系: 于Windows环境下利用任意文本编辑软件打开该文档查阅具体内容; 针对类Unix操作系统家族成员来说更简便快捷的办法莫过于运用内置指令实现自动化处理流程:`cat ~/.ssh/id_rsa.pub` 将完整输出所需数据流供复制粘贴之用[^2]. --- #### 5. 添加SSH密钥至目标平台 登录对应的代码托管网站比如GitHub、GitLab等等之后找到个人账户设置里的SSH Keys板块按照指示添加刚才获取出来的那串字符进去就大功告成啦!记得测试一下连通状况确认无误哦~ ```python import os os.system('ssh -T git@github.com') ``` 上述脚本可以帮助初步判断是否建立起了有效的通信链路[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值