Mac 配置多个ssh-key
应用场景
我们经常将代码托管到github、gitlab这样的网站上。为了避免每次push代码时都要输入用户名和密码,通常会选择使用ssh协议,将公钥保存到托管网站上。在实际开发中,往往要将代码托管到多个不同的网站上。比如,公司的代码需要托管到coding上,自己的开源代码托管到GitHub上,私有代码托管到gitlab上等等,每个托管网站都对应一个git账户。默认情况下,一台电脑的Git只对应一个账户,只能往一个网站push代码,非常不便。这篇博客将介绍如何在一个Git终端中配置多个账户,同时管理多个托管网站的代码。
准备工作
首先,需要准备好对Git的全局用户进行配置。在初次安装Git时,往往会使用如下的命令配置全局用户名和邮箱:
git config --global user.name "xxx" // 配置全局用户名,如Github上注册的用户名
git config --global user.email "yyy@mail.com" // 配置全局邮箱,如Github上配置的邮箱
这个--global
选项,是指这里配置的user.name
和user.email
是相对于全局进行配置的,即不同的Git仓库默认的用户名和邮箱都是这个值。由于需要管理多个账户,所以仅仅使用这个全局值是不够的,需要在每个仓库中单独配置。对此,有两种处理方法:
如果之前已经使用该命令进行配置,则先使用如下命令清除
git config --global --unset user.name
git config --global --unset user.email
如果不确定是否已经配置过,可以使用下面的命令查看
git config --global user.name
git config --global user.email
创建ssh-key
ssh-keygen -t rsa -f ~/.ssh/id_rsa.别名 -C “邮箱地址“
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C “xxx@xxx.com“
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C “xxx@xxx.com“
image.png
image.png
image.png
复制公钥
$ cat id_rsa_hostname.pub
image.png
image.png
ssh-key文件已经生成到指定路径了,那么接下来我们来配置一下。
重复上述步骤,创建好多个秘钥对
但是还没有完,ssh服务器默认是去找id_rsa,现在需要把这个key添加到ssh-agent中
这样ssh服务器才能认识my_id_rsa
在终端执行:(这里为什么加上了一个-K参数呢?因为在Mac上,当系统重启后会“忘记”这个密钥,所以通过指定-K把SSH key导入到密钥链中。)
ssh-add -K ~/.ssh/my_id_rsa
查看添加结果:
ssh-add -l
创建config文件
cd .ssh
touch config
配置
参数说明:
Host :分别为公司自己的gitlab托管的服务地址(一般公司都有自己的git托管服务)
Hostname :随便起
User :随便
PreferredAuthentications :写死publickey
IdentityFile :公钥地址。
注,如果我们用的id_rsa添加在了过个git托管服务器,比如github,我们只要再添加github的配置就行了
# second user(xxx@xxx.com)
# 建一个github别名,新建的帐号使用这个别名做克隆和更新Host githubHostName github.comUser gitIdentityFile ~/.ssh/id_rsa.github# second user(xxx@xxx.com)
# 建一个gitee别名,新建的帐号使用这个别名做克隆和更新Host giteeHostName gitee.comUser gitIdentityFile ~/.ssh/id_rsa.gitee
Host是别名。如果只是为了区分github、gitee等,为了方便使用,建议和HostName一致,这样在clone git的时候不用考虑修改hostname。
4、通过别名来使用
ssh -T gitee
ssh -T github
Hi xinwen-mao! You've successfully authenticated, but GitHub does not provide shell access.
表示成功
image.png
error
image.png
这个问题是由于权限的问题,需要文件设置权限:
chmod 600 *
image.png
参考文章:
管理本地多个SSH Key
Mac下配置多个SSH-Key
同一台Mac上配置多个ssh及git
转载自: https://www.jianshu.com/p/83be25bee6c1
Mac 配置多个ssh-key相关推荐
- github ssh 配置_怎么给Git配置多个SSH Key?
有时候我们可能需要在同一台电脑上配置多个SSH Key,比如公司项目使用的是GitHub,个人开发用的是码云Gitee.这个时候我们可能需要有两个SSH Key,怎么配置呢? 假设你之前已经生成了一个 ...
- mac 如何快速生成SSH key,配置github SSH公钥连接(解决git push 413问题)
来源:掘金 作者:老表 一.说一说 了解这个的起因是今天git push的时候遇到报错error: RPC 失败.HTTP 413 curl 22 The requested URL returned ...
- Mac Git 如何设置ssh key
前言 GitHub(或者GitLab之类的远程的Git仓库)通常会提供https和ssh两种操作方式给用户,https的方式每次认证都需要输入密码,而ssh的方式则需要在服务器上配置ssh key(s ...
- Windows 环境配置Github 的SSH key
今天需要将本机编写的代码提交至github 上,但是push 远程分支提示如下错误信: remote: Support for password authentication was removed ...
- MAC快速查看本地 SSH KEY
cd .ssh/ ls -al cat id_rsa.pub
- SSH的工作原理、加密方式以及配置多个ssh key
1.SSH工作原理 从ssh的加密方式说开去,看下文
- Git简单生成公钥和私钥的方法及git ssh key配置
Git简单生成公钥和私钥的方法 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" ...
- win ssh key多账号配置
ssh key多账号配置 1. 配置,准备工作 1.1 配置两个ssh key 1.2 创建初始项目demo 1.3 清空.ssh 2. 生成ssh key,配置 2.1 生成ssh key 2.2 ...
- ssh 连接服务器_使用 SSH Key 访问服务器
阅读本文大概需要 2 分钟. 0. 前言 在刚接触到服务器的时候,一般都会采取密码登录,但每次登录服务器的时候都需要输入密码,体验很不好,而且相较于 SSH Key 不太安全,而使用 SSH Key ...
- 管理本地多个SSH Key
有的时候,不仅Github使用ssh key,工作项目或者其他平台可能也需要使用ssh key来认证,如果每次都覆盖了原来的id_rsa文件,那么之前的认证就会失效.这个问题我们可以通过在~/.ssh ...
最新文章
- zabbix监控添加psql数据库和sql_server数据库模板
- python 操作微信定时发信息
- Linux命令 iperf - 网络性能测试工具
- HTML DOM(一):认识DOM
- oracle里的查询转换
- Python MySQLdb 循环插入execute与批量插入executemany性能分析(list批量写法亲测成功)
- ltv价值 应用_用户终生价值Ltv是什么,在游戏设计中如何考虑?
- java开发属于后端吗,值得一读!
- python导入gif_Python之GIF图倒放,沙雕快乐源泉!我已经笑了一天了!
- 标准WPS框架下的空间信息处理服务部署方法
- 使用CLion在Gtkmm中加载glade文件时的相对路径问题
- 【Zookeeper】基于Zookeeper实现分布式锁
- 对棋盘完美覆盖问题证明过程的质疑及其解决
- springboot图书管理怎么实现借书时间到期提醒_东和店镇第一小学图书数字化管理先进做法...
- Exadata:Smart Scan(二) FAST FULL SCAN
- 你有多自律,就有多自由
- springboot校园二手交易平台的设计与实现毕业设计源码260839
- 服务器信号满格网速很慢,手机信号满格但网速很慢 可能是这5个原因
- android qq勋章墙实现,科技教程:如何在手机QQ中进入勋章墙?
- 关于MTTF、MTBF、MTRF
热门文章
- iPad远程控制windows主机及内网穿透原理
- c(RGDyC),cyclo(Arg-Gly-Asp-D-Tyr-Cys),环状RGD多肽系列
- 赛天网吧无盘服务器,200台MZD无盘网吧解决方案.docx
- 基于三周加速度传感器的计步器设计
- 数据科学和人工智能技术笔记 二十、数据可视化
- 104Triangle Area三角面积
- 网站检测-网站检测软件-免费网站安全检测工具
- 初识 Arm 处理器
- idea从零到精通目录导航
- XMLConstants.FEATURE_SECURE_PROCESSING错误