Tag: ssh-agent和ssh-add的关系

  • ssh-agent和ssh-add的关系

    ssh-agent和ssh-add的关系

    一、ssh-agent是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管。 使用ssh-agent后,可以通过ssh-add命令向ssh-agent注册本机的私钥,ssh-agent会自动推导出这个私钥的指纹(实际上是ssh-add计算的)保存在自己的小本本里(内存),以后只要ssh连接某主机(某用户),将自动转发给ssh-agent,ssh-agent将自动从它的小本本里查找私钥的指纹并将其发送给服务端(sshd端)。如此一来,ssh客户端就无需再指定使用哪个私钥文件去连接。 总的看上去,ssh-agent的角色就是帮忙存储、查找并发送对应的指纹而已,也就是说它是一个连接的转发人,扮演的是一个代理的角色。 ssh-agent的启动,一般情况下macOS已经有此进程: % ps -ef|grep ssh-agent 501 2489 1 0 四09上午 ?? 0:00.32 /usr/bin/ssh-agent -l 二、macOS 下使用 ssh-add 命令将SSH 密钥添加到ssh-agent 代理 三、将 SSH 私钥(id_ed25519)添加到 ssh-agent 并将密码存储在密钥链中: ssh-add -K ~/.ssh/id_ed25519 四、测试 SSH 连接之前,确认好3个工作: 1、检查现有 SSH 密钥(.ssh/目录下是否有密钥文件,通过ssh-add -l 查看已经加入ssh-agent密钥管理器的密钥) 2、生成新 SSH 密钥 (ssh-keygen -t rsa -C “fox@github.com”) 3、新增 SSH 密钥到 GitHub 帐户 (在github的设置里)   五、测试…