GeekTop
  • 首页
  • 关于

GeekTop

不止代码

使用 Apple 的 Keychain 保存 SSH 的 passphase

使用 Apple 的 Keychain 保存 SSH 的 passphase

2022年8月22日 Alex Comments 0 Comment

SSH 的私钥是非常重要的数据,一旦泄露可能回造成非常大的损失,但是我注意到很多开发人员并没有给私钥设置密码,可能是因为觉得麻烦,因为每次使用都要输入密码。

一些恶意的软件或者脚本完全可以扫描到~./ssh/这个目录下的所有文件,这里保存了登陆服务器的私钥和登陆服务器的记录,一旦被不法分子拿到,后果可能超乎想象。

所以,建议给私钥额外添件一个密码,这样即使被坏人拿到,也无法使用。

但是,我们需要在易用性和安全性之间保持一种平衡,即使给私钥加上密码,也没有明显降低易用性,不会要求我们在每次使用的时候都输入密码。

Apple 的 Keychain 是一个支持端到端加密的工具,所以密码保存在里面是安全的。我们只需要在首次使用时,输入:

ssh-add --apple-use-keychain ~/.ssh/id_rsa

这条命令会把密钥交给 ssh-agent 管理,同时密码会自动保存到 Apple 的 keychain 里面。

ssh-agent 是一个守护进程,用来管理 ssh 连接过程中需要的认证信息,以后每次连接的时候就不需要手动输入密码了,同时你的私钥是安全的。

到这一步已经基本接近完美了,但是如果你重启电脑,发现还是需要你输入密码,这是因为 ssh-agent 不能自动从 Apple 的 Keychain 里面加载密码,所以需要在 ~./ssh/config 里写入如下内容:

Host *
  AddKeysToAgent yes

参考资料:

How can I permanently add my SSH private key to Keychain so it is automatically available to ssh?
SSH-agent does not automatically load passphrases on the OSX Sierra keychain during startup


随笔

Post navigation

NEXT
设计一个可扩展的用户模型
PREVIOUS
解决 ABA 问题

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

最近文章

  • 姥姥
  • 设计一个可扩展的用户模型
  • 使用 Apple 的 Keychain 保存 SSH 的 passphase
  • 解决 ABA 问题
  • 关于 macOS 上面部分 emoji 无法显示的问题
  • 这些年我技术栈的变化
  • 搬瓦工、狗云、hostodo、oracle对比测试
  • Google Drive 无法上传文件
  • 使用 socks5 代理 git ssh 协议
  • 到底要不要“润”
  • 可复用的代码
  • 关于疫情的一点点反思
  • 我的风控策略(投资篇)
  • 我的风控策略(生活篇)
  • Spring Boot是如何处理异常的
  • 编码与解码
  • 基于统计的图像目标检索
  • 有限状态机和状态模式
  • API安全设计
  • 用户密码的存储策略

近期评论

  • ǝɔɐǝԀʎzɐɹϽ发表在《可复用的代码》
  • Alex发表在《可复用的代码》
  • ǝɔɐǝԀʎzɐɹϽ发表在《到底要不要“润”》
  • ǝɔɐǝԀʎzɐɹϽ发表在《可复用的代码》
  • ǝɔɐǝԀʎzɐɹϽ发表在《我的风控策略(生活篇)》
  • ǝɔɐǝԀʎzɐɹϽ发表在《如何写出简洁优雅的代码》
  • 张志亮发表在《如何写出简洁优雅的代码》

分类

  • AI (2)
  • Java应用安全之道 (1)
    • 加密与解密 (1)
  • Odoo (2)
  • Python (1)
  • 图像处理 (1)
  • 年鉴 (1)
  • 数据库 (10)
  • 编程 (14)
    • Spring (1)
  • 读书笔记 (2)
  • 运维 (5)
  • 随笔 (10)

归档

  • 2023年1月 (2)
  • 2022年8月 (1)
  • 2022年7月 (4)
  • 2022年6月 (2)
  • 2022年5月 (2)
  • 2022年4月 (3)
  • 2021年10月 (1)
  • 2021年7月 (1)
  • 2021年5月 (1)
  • 2020年11月 (1)
  • 2020年7月 (1)
  • 2020年3月 (2)
  • 2020年2月 (1)
  • 2019年1月 (1)
  • 2018年12月 (2)
  • 2018年11月 (2)
  • 2017年4月 (1)
  • 2016年11月 (1)
  • 2016年9月 (1)
  • 2016年7月 (1)
  • 2016年5月 (3)
  • 2016年4月 (2)
  • 2016年3月 (1)
  • 2016年2月 (2)
  • 2015年12月 (1)
  • 2015年11月 (2)
  • 2015年8月 (1)
  • 2015年4月 (1)
  • 2015年3月 (1)

标签

Database devops Java MySQL PostgreSQL Python shell Spring SpringBoot Spring Security 安全 年鉴 总结 编程 随笔
© 2015-2023   Geektop.net All Rights Reserved.