一台电脑如何管理多个ssh key
需求:一台电脑上(Mac os)管理多个ssh key,可以任意切换,达到多用户(账号)使用不同ssh提交代码。
以下利用bitbucket和github账号来做例子。
一、生成ssh key
1.1 生成密钥(必须)
ssh-keygen -t rsa -C "youremail@yourcompany.com"
注解:
密钥类型可以用-t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。- 同时在密钥中有一个
注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。所以在这里输入自己的邮箱或者其他都行。 - 若一路回车(密码可以不写),这样只会在
~/.ssh/ 目录下生成id_rsa 和 id_rsa.pub 两个文件。
1.2 设置路径 (可选)
为了区分,我们在第一个回车后设置路径,进行第二步
id_rsa_bitbucket
id_rsa_bitbucket.pub
id_rsa_github
id_rsa_github.pub

1.3 指定密语字符串(可选)
- 输入完毕后程序同时要求输入
一个密语字符串(passphrase),空表示没有密语。接着会让输入2次口令(password),空表示没有口令。3次回车即可完成当前步骤,此时~/.ssh目录下文件已经生成好了。 - 建议输一个,安全一点,当然不输也行,应该不会有人闲的无聊冒充你去修改你的代码

完了之后,大概是这样:

到此为止,你本地的密钥对就生成了。
二、设置ssh key的代理
2.1、 首先查看代理
ssh-add -l
若提示
Could not open a connection to your authentication agent.
则系统代理里没有任何key,执行如下操作
exec ssh-agent bash
若系统已经有ssh-key 代理 ,可以删除
ssh-add -D
2.2、 添加私钥
ssh-add ~/.ssh/id_rsa_bitbucket
ssh-add ~/.ssh/id_rsa_github
三、添加公钥
在对应的github的ssh管理页面,添加对应的公钥(.pub 文件内容),保存到代码管理服务器。
四、添加和编辑配置文件config
在 ~/.ssh 目录下新建一个config文件
touch ~/.ssh/config
添加内容
# git@bitbucket.org
Host bitbucket.org
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/github/id_rsa_bitbucket
# git@github.com
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
当然也可以利用nano命令来创建和编辑
nano ~/.ssh/config
如此,ssh就会根据登陆的不同域,来读取对应的私钥文件
五、测试
ssh -T HostName
ssh -T git@github.com
若出现
Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
则表示成功。
若出现
permission denied (publickey)
请检查github的ssh管理里添加的公钥是否正确。
六 为不同项目设置不同的git账号
设置了全局的git用户,所有的git项目都会使用这个用户名和邮箱,如下设置的:
git config --global user.name 'Username'
git config --global user.email 'UserEmail'
如果你在另一个项目中想使用另一个git账号,就要为当前项目设置指定的账号和邮箱,在当前项目中设置如下命令:
git config user.name 'AnotherName'
git config user.email 'AnotherEmail'
使用git config --list 就可以看到全局的git配置和当前项目的git配置了
一台电脑如何管理多个ssh key的更多相关文章
- 在同一台电脑上添加多个ssh key
1.创建新的ssh key: ssh-keygen -t rsa -C "your_email@email.com" 然后让你输入新的文件名称,这里设置为new # 设置名称为En ...
- Mac下一台电脑管理多个SSH KEY(转)
一.关于ssh是什么? http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 二.需求: 一台电脑上(Mac os)管理多个ssh ...
- github/gitlab 管理多个ssh key
github/gitlab 管理多个ssh key 以前只使用一个 ssh key 在github上提交代码,由于工作原因,需要再添加一个ssh key在公司的 gitlab上提交代码,下面记录下配置 ...
- 同一台电脑管理多个SSH KEY
同一台电脑关于多个SSH KEY管理 笔者之前为电脑中的homestead虚拟机配置过id_rsa,但现在因为想在github上搭建基于hexo的博客,所以需要配置github的ssh key,因此产 ...
- github/gitlab同时管理多个ssh key
之前一直用github,但是github有一个不好的地方,要是创建私有的项目的话需要付费,而gitlab上则可以免费创建管理私有的项目.由于最近想把自己论文的一些东西整理一下,很多东西还是不方便公开, ...
- github、gitlab 管理多个ssh key
第一种方法: 通过 git 命令行来操作 1.cd ~/.ssh 2.ls 注:如果.ssh 目录下有文件存在那么表示之前添加过 3. ssh-keygen -t rsa -C "xxxxx ...
- 同一台电脑使用多个ssh连接git,出现权限不够的问题
在本地使用多个ssh连接git时出现如下错误: Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 当一台电脑上同时使用多个ssh k ...
- Git生成多个ssh key
在实际的工作中, 有可能需要连接多个远程仓库, 例如我想连接私有仓库.GitLab官网.GitHub官网, 那么同一台电脑就要生成多个ssh key: ssh-keygen -t rsa -C &qu ...
- Git Gui、Ssh key的使用和ideaui配置使用Git解决冲突(下)
目的: 1.Git Gui的使用 2.Ssh key 介绍及使用 2.1小结:https 和 SSH 的区别 3.Idea配置使用并使用git 4.ideaui使用Git冲突问题解决 Git Gui的 ...
随机推荐
- EFK教程 - ElasticSearch高性能高可用架构
通过将elasticsearch的data.ingest.master角色进行分离,搭建起高性能+高可用的ES架构 作者:"发颠的小狼",欢迎转载与投稿 目录 ▪ 用途 ▪ 架构 ...
- spring security 简单入门
spring security 简单入门示例 一.概述 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架 . 其中最主要的安全操作有两 ...
- linux日常笔记(1)
1.SELlinux SELinux是 美国国家安全局 (NSA) 对于 强制访问控制的实现 =>可以使root受限的权限 关闭SELinux=>修改配置文件,永久生效; sed -i ' ...
- ansible-template
template简介 template功能: 根据模板文件动态生成对应的配置文件 template文件必须存放于templates目录下,且命名为 .j2 结尾 ansible的template模板使 ...
- 基于 cobbler 实现自动安装 linux 系统
使用 cobbler 实现自动安装 centos 6.7系统 1.yum install cobbler -y 安装 cobbler ,有依赖关系,会自动把 TFTP .HTTP 服务安装上:cobb ...
- python:爬虫0
什么是网页爬虫,也叫网页蜘蛛.把互联网比作一个蜘蛛网,有好多节点,这个蜘蛛在网上爬来爬去,对对网页中的每个关键字进行建立索引,然后建立索引数据库,经过复杂的排序算法后,这些算法的结果将按照相关度的高低 ...
- 【Oracle】Oracle ASM管理监控命令
目录 Oracle ASM管理监控命令 目的: 1.查看磁盘组 2.查看目前归档 3.查看ASM的磁盘路径 4. asmcmd Oracle ASM管理监控命令 目的: 查看目前Oracle ASM相 ...
- 扛把子组20191107-4 beta week 2/2 Scrum立会报告+燃尽图 03
此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9956 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩 ...
- 工作常用4种Java线程锁的特点,性能比较、使用场景
多线程的缘由 在出现了进程之后,操作系统的性能得到了大大的提升.虽然进程的出现解决了操作系统的并发问题,但是人们仍然不满足,人们逐渐对实时性有了要求. 使用多线程的理由之一是和进程相比,它是一种非常花 ...
- mysql8.0.13安装、使用教程图解
mysql8.0.13安装.使用教程图解 MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Manageme ...