【Git】Git配置多个SSH-Key

✨SSH

安全外壳协议(Secure Shell Protocol,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中建立安全隧道(英语:secure channel)来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。


配置ssh可以用于免密进行各类操作

例如git操作

连接服务器等等


通常需要生成ssh公钥与私钥

将ssh公钥部署到网站

用户持有私有私钥就能免密操作


✨Windows配置SSH-Key

生成ssh公钥与私钥

首先生成ssh公钥与私钥

建议进入用户目录新建.ssh目录,然后将ssh公钥与私钥生成到该目录下

(Windows中用户目录通常为C:\Users\${username}

以下命令行请在PowerShell中运行

mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -C 'xxxxx@company.com' -f gitee_id_rsa

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

所以生成密钥时也可以不加-C 'xxxxx@company.com'


使用如下命令行即可

mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -f gitee_id_rsa

生成的gitee_id_rsa为私钥,gitee_id_rsa.pub为公钥


部署公钥

使用文本编辑器打开生成的公钥(gitee_id_rsa.pub

复制到需要部署的网站,例如Github、Gitee或者其他服务器租用平台


添加ssh配置

.ssh目录下新建config(不要带有扩展名)

使用文本编辑器粘贴一下内容

如下为用于登录Gitee的配置文件,如果是其他平台请自行修改

注意IdentityFile请使用私钥的绝对路径

# Gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile C:\Users\${username}\.ssh\gitee_id_rsa

测试

ssh -T git@gitee.com

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。


✨macOS配置SSH-Key

相对来说在macOS或者其他Linux/Unix操作系统上配置SSH-Key要容易很多


生成ssh公钥与私钥

首先生成ssh公钥与私钥

建议进入用户目录新建.ssh目录,然后将ssh公钥与私钥生成到该目录下

使用如下命令行即可

mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -f gitee_id_rsa

生成的gitee_id_rsa为私钥,gitee_id_rsa.pub为公钥


部署公钥

使用文本编辑器打开生成的公钥(gitee_id_rsa.pub

复制到需要部署的网站,例如Github、Gitee或者其他服务器租用平台


添加ssh配置

这里macOS可以完全使用vim完成操作

vim ~/.ssh/config

粘贴一下内容保存退出即可

# Gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa

测试

ssh -T git@gitee.com

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。


✨配置多个SSH-Key

上述ssh配置中针对不同网站可以添加不同的配置

因此要配置多个ssh-key

我们只需要生成名字不相同的公钥与私钥

然后写入配置即可


例如我要生成用于AutoDL的私钥

只需要在生成ssh公钥与私钥时改变-f后内容即可

cd ~/.ssh
ssh-keygen -t rsa -f autodl_id_rsa

部署公钥同上

添加ssh配置时修改HostHostNameIdentityFile即可


✨参考及引用

https://gitee.com/help/articles/4181

https://gitee.com/help/articles/4229


⭐转载请注明出处

本文作者:双份浓缩馥芮白

原文链接:https://www.cnblogs.com/Flat-White/p/17065037.html

版权所有,如需转载请注明出处。

posted @ 2023-01-23 17:35  双份浓缩馥芮白  阅读(1063)  评论(0编辑  收藏  举报