在实际开发中经常会遇到连接不同的远程代码管理平台,比如Github、gitlab、coding,如果采用ssh验证方式就需要在本地生成相应的SSH Key,以及配置config文件,具体步骤可参考juejin.im/post/5c41c4…,如果终端提示以下错误

Could not open a connection to your authentication agent.
复制代码

则需要启动ssh-agent,

eval `ssh-agent -s`
复制代码

ssh-agent是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。

接下来执行

ssh-add ~/.ssh/id_rsa_company
ssh-add ~/.ssh/id_rsa_personal
复制代码

最后再测试一下能否正常连接

$ ssh -T git@home.github.com
Hi home_user! You've successfully authenticated, but GitHub does not provide shell access.
复制代码

但是如果当Mac每次重启之后都需要重新 ssh-add,一定程度上会影响我们的工作效率,为了避免这样重复性的工作,我们可以通过将SSH Key加入Keychain中,命令如下:

ssh-add -K ~/.ssh/id_rsa_company
复制代码

但是重启后测试Keychain并未保存相应的SSH Key,原因是从macOS Sierra 10.12.2以后,SSH的配置选项中多了“UseKeychain”选项,所以要解决这个问题需要借助UseKeychain,在~/.ssh/config文件中添加下面这段话,问题就可以解决了:

Host *AddKeysToAgent yesUseKeychain yesIdentityFile ~/.ssh/id_rsa_company
复制代码

当然除了通过Keychain保存SSH Key这个方式以外,也可以通过Mac自带的Automator(自动操作)来解决

1.首先创建一个Automator应用程序类型文件

2.选择运行shell脚本,在输入框输入ssh-add命令,点击顶部未命名保存

3.打开系统偏好设置->用户与群组,选择登录项,选择保存的.app文件为开机启动

这样就可以在开机时自动运行ssh-add命令了,可在终端通过ssh-add -l命令验证。(目前本人也是采用第二种方式,亲测有效?)

多个SSH Key自动化配置相关推荐

  1. mac 如何快速生成SSH key,配置github SSH公钥连接(解决git push 413问题)

    来源:掘金 作者:老表 一.说一说 了解这个的起因是今天git push的时候遇到报错error: RPC 失败.HTTP 413 curl 22 The requested URL returned ...

  2. git clone 报错 Permission denied (publickey,password).git配置ssh key

    翻译下这段英文,大概意思是: 权限被拒绝(公钥.密码).无法从远程存储库中读取. 解决方式:创建ssh key.配置git 1.设置username和email(github每次commit都会记录他 ...

  3. Windows 环境配置Github 的SSH key

    今天需要将本机编写的代码提交至github 上,但是push 远程分支提示如下错误信: remote: Support for password authentication was removed ...

  4. Git生成公钥、私钥以及ssh key配置

    一.公钥以及私钥的生成 首先设置Git 用户签名 1.打开安装好的Git Bash: 2.设置Git用户签名,执行以下命令: git config --global user.name 用户名 git ...

  5. 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 ...

  6. ssh 连接服务器_使用 SSH Key 访问服务器

    阅读本文大概需要 2 分钟. 0. 前言 在刚接触到服务器的时候,一般都会采取密码登录,但每次登录服务器的时候都需要输入密码,体验很不好,而且相较于 SSH Key 不太安全,而使用 SSH Key ...

  7. 在 github 上添加 SSH key 的步骤

    版权声明:个人学习笔记,不喜勿喷,文章转载请标明出处,谢谢! <a class="copy-right-url" href=" https://blog.csdn. ...

  8. Mac Git 如何设置ssh key

    前言 GitHub(或者GitLab之类的远程的Git仓库)通常会提供https和ssh两种操作方式给用户,https的方式每次认证都需要输入密码,而ssh的方式则需要在服务器上配置ssh key(s ...

  9. 第三十天-ssh key企业批量分发自动化管理案例

    本文实现一个应用ssh key 批量分发案例 目录 一.ssh key 原理及案例原理简图 1.ssh key 简介 2.rsa和dsa区别 3.ssh-copy-id的特殊应用 4.ssh-copy ...

最新文章

  1. Java Review - 并发编程_ConcurrentLinkedQueue原理源码剖析
  2. PHP、JS 中 encode/decode
  3. office 2010中自带的 微软拼音输入法2010卸载
  4. WebRTC的现状和未来:专访W3C WebRTC Chair Bernard Aboba(上)
  5. python中的小魔法(一)
  6. realme曝光全球首张6400万像素样张 大家品一品?
  7. ReactJS基础(续)
  8. SLAM_ORB-SLAM3(VIO/IMU)适配KITTI数据集,并评估!!!奶妈级教程!!!
  9. LeetCode Count of Smaller Numbers After Self
  10. python离线语音转文字
  11. 微信 服务器参数错误 请重新填写,微信上登录验证出现参数错误怎么解决
  12. encapsulation dot1q vlan-id命令
  13. 问题解决:consider to specify kernel configuration cache directory through OPENCV_OCL4DNN_CONFIG_PATH par
  14. 周昆 浙江大学计算机学院院长,周昆 - 国立浙江大学维基
  15. android开发之发送短信SMS
  16. jira 史诗 故事 任务_史诗般的数据提取任务
  17. 学习OpenCV(1)概述
  18. MATLAB:一维插值算法
  19. hive sql通过具体地址解析出行政区划(省 > 市 > 区 > 县 > 乡 > 镇 > 村)
  20. 3dmaxobj导出选项_3dmax导出obj没有贴图该怎么办

热门文章

  1. POJ1144:Network(无向连通图求割点)
  2. Centos6.5-----nagios快速安装编译配置文档-全部虚拟环境
  3. 分享一个Go按行读取命令行输入的例子
  4. apache配置虚拟主机(virtual host) 笔记
  5. 关于PKI架构(使用证书)保护Web访问的安全实现SSL的基本理论
  6. golang内置类型和函数
  7. 注意 ExecuteNonQuery() 返回值
  8. 13岁女孩因发布JavaScript无限循环代码被捕
  9. H5多媒体(用面向对象的方法控制视频、音频播放、暂停、延时暂停)
  10. 写给我的2015—开启工作新旅程