如何在同一电脑上生成配置多个ssh key 公钥 私钥(保姆级教程)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一般来说,一台电脑默认只有一个私钥 id_rsa 和公钥 id_rsa.pub 。当我们需要在一台电脑上操作不同的 github 账号(或 gitlab、gitee、coding)就需要多个对应的ssh key,因为一个 github 账号只能建一个与账号名相同的仓库。


一、ssh是什么?

ssh是Secure Shell(安全外壳协议)的缩写,建立在应用层和传输层基础上的安全协议。为了便于访问github,要生成ssh公钥,这样就不用每一次访问github都要输入用户名和密码。简单来说就是方便我们拉取推送代码。

二、生成条件

1.本地安装 Git ,未安装用户可以点击 Git官网 进行下载
2.注册需要配置 ssh平 台的账号(Github,Gitee,Gitlab,Coding)

三、生成步骤

1.检查系统是否有.ssh文件夹

windows系统下一般是在 C:\Users\Administrator 目录下,如果没有手动新建 .ssh 文件夹。
在这里插入图片描述

2.生成多个ssh key

1.进入 .ssh 目录下,单机鼠标右键,选择 Git Bash here,打开 git bash:
在这里插入图片描述
2.输入命令:ssh-keygen -t rsa -C "xxx@xxx.com" ,如图:

  • 引号中的内容是你在 github 上注册所使用的邮箱,点击确定。 提示:(以 github 为例)
    在这里插入图片描述

  • 这里需要注意,该命令会默认生成为 id_rsa 的公钥和 id_rsa.pub 的私钥文件。为了防止后续生成别的 ssh 被覆盖,这里推荐手动修改文件名。如图,我这里修改为 github_id_rsa
    在这里插入图片描述

  • 继续回车确定,会提示你设置密码和再次输入密码。为了简化操作,这里不建议设置密码,直接回车确定。
    在这里插入图片描述

  • 再次回车确定,看到如下样式,就说明 ssh 生成成功了,在 .ssh 文件夹会下看到 github_id_rsa 文件和 github_id_rsa.pub 文件。
    在这里插入图片描述
    3.将生成的 key 添加到 github 账户中去:

    • 打开生成的 github_id_rsa.pub 文件,全选并复制内容;
    • 登录你的 github ,点击 右上角头像 —> Setttings –> SSH and GPG keys -->New SSH keys
    • Titile 随意起名, Key 中粘贴上刚刚拷贝的公钥;
    • 点击 Add SSH key ,就成功啦。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      4.测试: ssh -T git@github.com 出现如下字样就是设置成功了。
      在这里插入图片描述

5.完成以上步骤就生成配置好了 github 的 ssh key,可以使用 ssh 方式克隆或者推送代码到 github 远程仓库。gitee 或 gitlab 或 coding 的生成方法也是如此,重复以上步骤即可

注意

  • 重复执行第二步时绑定邮箱时建议使用不同邮箱,方便区分。
  • 重复执行第三步时需要修改生成的文件名,防止覆盖。可以使用平台名作为前缀,如(github_id_rsa / gitee_id_rsa)

6.重复以上步骤后,在文件目录下会看到生成了多个 ssh key ,分别对应不同的代码托管平台。如图:
在这里插入图片描述

3.配置 config 文件

在.ssh文件夹中手动创建config文件或者输入命令touch config生成,并按下面的模板填写,该文件用于配置私钥对应的服务器。

# gitlab
Host gitlab.ylwnl.com   
HostName gitlab.xxx.com   
PreferredAuthentications publickey  
IdentityFile ~/.ssh/gitlab_id_rsa 

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

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

配置说明:

  • Host:自定义别名,会影响git相关命令
  • HostName:真实的服务器地址(域名)
  • User:之前配置的用户名可以省略(xxx@xxx.com)
  • PreferredAuthentications:权限认证(publickey,password publickey,keyboard-interactive)一般直接设为publickey
  • IdentityFile:rsa文件地址

以上就是在同一电脑上配置多个 ssh key 的所有步骤了。

总结、

这篇文章是我基于自己搭建博客时的实践,可能还是没有总结得很完整,如果读者有遇到什么问题,欢迎留言讨论,共同学习。
欢迎大家参观我的个人博客:村长的菜鸟驿站

  • 28
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
配置SSH公钥私钥,您可以按照以下步骤进行操作: 1. 生成SSH密钥对: 打开终端,并运行以下命令来生成密钥对: ``` ssh-keygen -t rsa -b 4096 ``` 您可以选择不同的加密算法和密钥长度,但RSA算法和4096位长度是常见的选择。您将被要求提供密钥文件的保存位置和一个可选的密码短语。 2. 添加公钥到远程服务器: 将公钥添加到您要连接的远程服务器上。您可以使用以下命令将公钥复制到服务器上: ``` ssh-copy-id user@server_ip ``` 替换 "user" 为您在远程服务器上的用户名,"server_ip" 为服务器的IP地址或域名。这将自动将公钥添加到远程服务器的`~/.ssh/authorized_keys` 文件中。 3. 配置SSH客户端: 打开SSH客户端配置文件 `~/.ssh/config`(如果不存在则创建): ``` nano ~/.ssh/config ``` 添加以下内容来配置您的私钥文件路径: ``` Host server_alias HostName server_ip User user IdentityFile /path/to/private_key ``` 替换 "server_alias" 为您给服务器取的别名,"server_ip" 为服务器的IP地址或域名,"user" 为远程服务器上的用户名,"/path/to/private_key" 为您生成私钥文件的路径。 4. 连接远程服务器: 使用以下命令连接到远程服务器: ``` ssh server_alias ``` 替换 "server_alias" 为您在SSH配置文件中指定的别名。 这样,您就成功配置SSH公钥私钥。下次连接远程服务器时,您将不再需要输入密码,而是使用私钥进行身份验证。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值