最近我们在代码托管平台上使用SSH的方式下拉代码,通常是用一个ssh key来拉取所有托管平台的代码,如码云,GitHub、GitLab等,但是总用一个不是太好。会有安全风险,这就需要为每个托管平台设置单独的SSH-key

下面我们下简单介绍一下如何创建多个SSH Key并且使用下拉代码。

第一步、生成SSH-Key

Windows建议使用Git bash操作

Linux、mac用户使用默认终端即可

  1. 生成第一个SSH-Key
$ ssh-keygen -t rsa -C "你的邮箱” -f ~/.ssh/id_rsa_one
  1. 生成第二个SSH-Key
$ ssh-keygen -t rsa -C ""你的邮箱”” -f ~/.ssh/id_rsa_two

创建完成之后 我们在.ssh的根目录下可以看到文件

  • WindowsSSH 目录
C:\Users\Administrator\.ssh
  • Linux、macSSH 目录
直接 cd ~/.ssh 即可进入

此时,.ssh目录下应该有4个文件:id_rsa_one和id_rsa_one.pub,id_rsa_two和id_rsa_two.pub

第二步、添加私钥

在终端中执行

ssh-add ~/.ssh/id_rsa_one
ssh-add ~/.ssh/id_rsa_two

如果执行ssh-add时提示 Could not open a connection to your authentication agent

可以先执行命令:

ssh-agent bash

然后再重新运行ssh-add命令即可

添加成功会出现提示:

Identity added 等字样

第三步、查看私钥列表是否存在

ssh-add -l

当我们可以看到2条私钥的时候就证明安装成功了,别急还没有完

第四步 修改配置文件config

若.ssh目录(就是私钥所在的文件夹)下无config文件,那么创建

touch config
打开 config 文件 配置如下格式 这里要注意 IdentityFile 后面对应的是 本地ssh key文件路径
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_one
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_two

第五步 用ssh命令测试验证

ssh -T git@gitee.com
ssh -T git@github.com

验证通过后即可愉快的clone代码了

附:

清空私钥列表

$ ssh-add -D

有问题请在下方留言或者加入星球

Git高级之配置多个SSH key的更多相关文章

  1. git配置多个ssh key

    随着工作的深入,我们通常都会有多个git账户.比如公司gitlab一个账户,github或gitee有一个账户.而平时我们又回通过 配置ssh公私钥认证的方式省去繁琐的登录远程仓库的操作,不同的git ...

  2. 配置GitHub的SSH key

    配置GitHub的SSH key 生成密钥对 打开git bash工具(Windows环境),Linux则直接打开命令行,执行下面的命令生成密钥文件 ssh-Keygen -t rsa -C &quo ...

  3. 配置github的SSH key及GitHub项目上传方式一——使用终端命令行

    GitHub是一个开源的大仓库,我们经常从github上下载项目进行学习和研究,下面是一个完整的步骤——往GitHub上传一个新项目. 一.注册GitHub账号 1.注册GitHub账号,地址:htt ...

  4. Mac下配置多个SSH KEY访问远程Git服务

    第一步 生成对应的ssh key 1 后面输入你的用户名 或者 邮箱 2 输入一个独立的ssh key名字 区别之前的名字 第二步  编辑 config文件 在.ssh/目录下面 在config文件配 ...

  5. 如何配置多个ssh key

    上一篇简单学习了下怎样利用git bash上传文件到指定的github项目中,我们来回顾下.首先在本地安装好git,设置好用户名和邮箱(提交时的显示),接着我们生成SSH key把它添加到该项目own ...

  6. oschina git服务, 如何生成并部署ssh key

    1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public ...

  7. Mac下IntelliJ的Git、GitHub配置及使用

    1.git简介 Git是目前流行的分布式版本管理系统.它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响.也因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可 ...

  8. Git多账号配置

    在一台电脑上配置多个不同的 ssh key 前言 如果拥有多个Git远程仓库,尤其是其中一个是工作中使用的仓库,只使用一个ssh key安全性很低,建议为不同Git远程仓库配置不同的ssh key. ...

  9. git 配置ssh key

    第一次生成 ssh key 进入ssh目录  cd ~/.ssh,再输入:ls ,查看文件,如果有.pub的文件,说明已有ssh key 如果没有, 则生成秘钥:ssh-keygen -t rsa - ...

随机推荐

  1. 报错:org.springframework.beans.factory.BeanCreationException

    报错码为以下内容,把自己走的坑贴出来,免得大家如同样的坑.以下解决方法仅供参考. ERROR [RMI TCP Connection(3)-127.0.0.1] - Context initializ ...

  2. 浅谈集合框架三、Map常用方法及常用工具类

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  3. 【codeforces 761B】Dasha and friends

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  4. Apply,Call,bind对比

    apply.call call和apply都是为了改变上下文背景存在的,即改变函数内部指向 javascript一大特点是函数存在定义时的上下文,运行时的上下文和上下文可改变的概念 apply.cal ...

  5. 微软软件开发技术二十年回顾-Windows DNA篇

    五. Windows DNA篇 微软的Windows分布式因特网应用体系(简称Windows DNA)是微软创建新一代高适应性商业解 决方案的框架,它使公司能够充分地挖掘数字神经系统的优点.Windo ...

  6. Libra和中国央行数字货币(DCEP)的对比

    最近偶然和朋友讨论起Libra,对Libra和央行的数字货币方案很感兴趣.梳理了阅读资料(参考见文末)和自己的思考,发知乎留个记录. Libra 是什么? 无国界货币 + 为全球数十亿人服务的金融基础 ...

  7. 使用Glide加载圆角图片

    //设置图片圆角角度 RoundedCorners roundedCorners= new RoundedCorners(6); //通过RequestOptions扩展功能,override采样率, ...

  8. 【Docker】安装MySQL彻底解决3306端口占用问题

    1.问题闪现: 初次up mysql报3306端口被占用 yunduo@YunDuo:~/Work/Learning/Docker/docker_compose$ docker-compose up ...

  9. Android多媒体框架

    Android系统的多媒体架构图 OpenMax做编解码作用(codec),从上到下依次是AL(应用层,在多媒体中间件和应用程序之间提供一个标准化接口).IL(集成层,解码编码器).DL(开发层,供应 ...

  10. 【python安装】错误——“User installations are disabled via policy on the machine”

    报错界面: 解决方法一:  1.在运行里输入gpedit.msc;  2.计算机配置管理>>管理模板>>windows组件>>windows Installer&g ...