多个SSH Key自动化配置
在实际开发中经常会遇到连接不同的远程代码管理平台,比如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自动化配置相关推荐
- mac 如何快速生成SSH key,配置github SSH公钥连接(解决git push 413问题)
来源:掘金 作者:老表 一.说一说 了解这个的起因是今天git push的时候遇到报错error: RPC 失败.HTTP 413 curl 22 The requested URL returned ...
- git clone 报错 Permission denied (publickey,password).git配置ssh key
翻译下这段英文,大概意思是: 权限被拒绝(公钥.密码).无法从远程存储库中读取. 解决方式:创建ssh key.配置git 1.设置username和email(github每次commit都会记录他 ...
- Windows 环境配置Github 的SSH key
今天需要将本机编写的代码提交至github 上,但是push 远程分支提示如下错误信: remote: Support for password authentication was removed ...
- Git生成公钥、私钥以及ssh key配置
一.公钥以及私钥的生成 首先设置Git 用户签名 1.打开安装好的Git Bash: 2.设置Git用户签名,执行以下命令: git config --global user.name 用户名 git ...
- 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 ...
- 在 github 上添加 SSH key 的步骤
版权声明:个人学习笔记,不喜勿喷,文章转载请标明出处,谢谢! <a class="copy-right-url" href=" https://blog.csdn. ...
- Mac Git 如何设置ssh key
前言 GitHub(或者GitLab之类的远程的Git仓库)通常会提供https和ssh两种操作方式给用户,https的方式每次认证都需要输入密码,而ssh的方式则需要在服务器上配置ssh key(s ...
- 第三十天-ssh key企业批量分发自动化管理案例
本文实现一个应用ssh key 批量分发案例 目录 一.ssh key 原理及案例原理简图 1.ssh key 简介 2.rsa和dsa区别 3.ssh-copy-id的特殊应用 4.ssh-copy ...
最新文章
- Java Review - 并发编程_ConcurrentLinkedQueue原理源码剖析
- PHP、JS 中 encode/decode
- office 2010中自带的 微软拼音输入法2010卸载
- WebRTC的现状和未来:专访W3C WebRTC Chair Bernard Aboba(上)
- python中的小魔法(一)
- realme曝光全球首张6400万像素样张 大家品一品?
- ReactJS基础(续)
- SLAM_ORB-SLAM3(VIO/IMU)适配KITTI数据集,并评估!!!奶妈级教程!!!
- LeetCode Count of Smaller Numbers After Self
- python离线语音转文字
- 微信 服务器参数错误 请重新填写,微信上登录验证出现参数错误怎么解决
- encapsulation dot1q vlan-id命令
- 问题解决:consider to specify kernel configuration cache directory through OPENCV_OCL4DNN_CONFIG_PATH par
- 周昆 浙江大学计算机学院院长,周昆 - 国立浙江大学维基
- android开发之发送短信SMS
- jira 史诗 故事 任务_史诗般的数据提取任务
- 学习OpenCV(1)概述
- MATLAB:一维插值算法
- hive sql通过具体地址解析出行政区划(省 > 市 > 区 > 县 > 乡 > 镇 > 村)
- 3dmaxobj导出选项_3dmax导出obj没有贴图该怎么办