β

macOS 配置 ssh-agent

脱线道士维克多 253 阅读

ssh-agent 命令是一种控制用来保存公钥身份验证所使用的私钥的程序。 ssh-agent 在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到 ssh-agent 程序中。通过使用环境变量,可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证。

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

参数详解

先看一下文档

解决的问题

github 推荐的部署方案有4种:

  1. SSH agent forwarding
  2. HTTPS cloning with OAuth tokens
  3. Deploy keys
  4. Machine users

其中 SSH agent forwarding 转发是最简单的一种方案。它让你可以在服务器上使用本地开发机的 SSH key。

优势

缺点

步骤

github 有一些相关的指导文章:

但是这方法在 macOS 10.13 并不好用,反正我这么搞完了是不行,所以参考了 github 上的一些讨论,我做了双保险:

  1. 修改 ~/.ssh/config
  2. 修改 ~/.zshrc
# ~/.ssh/config
Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa
# ~/.zshrc
# start the ssh-agent in the background
{ eval "$(ssh-agent -s)"; ssh-add -A; } &>/dev/null

参考

作者:脱线道士维克多
原文地址:macOS 配置 ssh-agent, 感谢原作者分享。

发表评论