ssh密钥的自动加载程序
sshadder的Python项目详细描述
关于
ssh密钥管理器,用于当前用python编写的多个受密码保护的私钥。 停止手动添加。
它的作用
定义密钥包并允许将包中的所有密钥添加到正在运行的ssh代理 在某种程度上,它就像GNU_Keychain,但并不强迫您输入所有密码,谢谢@jamiesonbecker!
安装
在virtualenv中运行:
pip install sshadder
注意:加密路径尚未被检查,所以暂时不要在整个系统范围内安装。老实说:)
用法
先决条件:
以便sshadder可以工作,我们需要:
- ssh-agent 的运行过程
- 环境变量SSH_AUTH_SOCK指向正在运行的进程
设置:
运行:
sshadder -i
文本将引导您提供主密码(不保存在任何地方),然后对于要添加的每个密钥,输入:
- 文件路径
- 密码
完成后,选择“s”选项保存并退出。
经常使用:
运行:
sshadder
请参考--help,其中显示了它正在查找json文件的默认位置。
实际发生的情况
在正常模式下调用时,sshadder是:
一。检查ssh代理环境变量指向一些有用的东西 一。正在对配置文件.sshagent.json项进行迭代,并正在添加已添加的密钥。
密钥密码是加密的,因此主密码用于解密它们以将它们添加到正在运行的代理中。 每个密码都经过加密,然后使用Base64编码并添加到密钥项中。 文本文件保持原样-文本文件。
不知道它有多安全,但它比纯文本shell脚本更安全。
透明度
pexepect.spawn()被使用,这意味着: 在添加密钥时能够访问用户的/proc文件系统可能会允许未经授权访问您的密码。 攻击者可能会“嗅探”文件描述符以查看传递给ssh代理的每个密钥的密码。 如果这对您非常不安全,请发送修补程序/拉取请求:)
如果安全专家正在阅读这些行,我想学习如何避免这种情况
贡献
欢迎使用补丁/拉/功能请求来改进代码/修复错误。 注意,我是一个很忙的人,所以如果你可以修复/添加它-给我一个补丁/拉请求。