最近我们在代码托管平台上使用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. hiveservice简介

    由于实验的须要,这两天就搭了个Hive,简单记录一下: 平台:OS:Ubuntu Kylin 14.04 JAVA:Java 1.8.0_25 HADOOP:Hadoop 2.4.0 HIVE:Hiv ...

  2. ActiveMQ--配置端口

    配置端口 端口配置选项 一般最常用的URI是连接到代理的端口URI,通常为TCP或VM端口. 要注意空格:所有的URI都是基于java.net.URI类,它并不允许使用空格.所以,如果你使用failo ...

  3. H3C DHCP服务器基本配置

  4. P1039 大规模间谍入侵

    题目描述 爱丽丝魔法王国成立10周年,于是决定矩形国庆大阅兵. 在国庆大阅兵期间,为了防止暗黑王国的间谍乔装成平民混入,需要对每一个进城的人做检测. 因为暗黑王国的人长得和爱丽丝魔法王国的人长得很像, ...

  5. P1015 高精度乘法

    题目描述 给你两个很大的正整数A和B,你需要计算他们的乘积. 输入格式 输入一行包含两个正整数A和B,以一个空格分隔(A和B的位数都不超过 \(10^4\)) 输出格式 输出一行包含一个整数,表示A和 ...

  6. Git的使用--如何将本地项目上传到Github(两种简单、方便的方法..)

    https://blog.csdn.net/u014135752/article/details/79951802 总结:其实只需要进行下面几步就能把本地项目上传到Github 1.在本地创建一个版本 ...

  7. tf.reduce_sum()

    #axis 表示在哪个维度进行sum操作,不写代表所有维 #keep_dims 是否保留原始数据维度 reduce_sum( input_tensor, axis=None, keep_dims=Fa ...

  8. 【2016福建省夏令营Day1】数据结构

    Problem 1 楼房(build.cpp/c/pas) [题目描述] 地平线(x轴)上有n个矩(lou)形(fang),用三个整数h[i],l[i],r[i]来表示第i个矩形:矩形左下角为(l[i ...

  9. keil中使用_at_绝对地址定位问题

    最近在做51单片机的时候,看到程序中某头文件有这样一段: 其中,_at_的作用就是将变量限定存放在指定的RAM空间.比如在这个单片机头文件中,就是将变量P00F,P01F分别存到Addr(0x8000 ...

  10. umask 设置

    背景: 有时候需要在linux上从其他人的目录里copy文件过来. 最近遇上的事情很麻烦,就是copy的时候发现很多文件copy不过来,copy一个文件夹时,当前文件把权限修改了,结果子目录的中的还没 ...