ssh-agent 与 ssh-add
在会话中缓存私钥口令
语法
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/私钥说明
适用于为私钥设置了口令、又不想每次连接都输入的场景。ssh-agent 在后台保存已解密的私钥,ssh-add 负责把密钥加入代理。代理进程的生命周期与登录会话相关,退出登录后缓存通常失效;在共享主机上使用代理需要评估同用户其他进程是否能复用该代理。
参数
-l列出代理中已加载的密钥指纹
-D清空代理中所有密钥
-t设置密钥在代理中的存活时间
示例
启动代理并加载密钥
桌面环境下通常会由会话自动启动代理。
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519_deploy注意事项:eval 是必需的,它把代理的环境变量导入当前 shell;直接执行 ssh-agent 只会打印变量。
查看与清理已加载密钥
确认代理中持有哪些密钥。
ssh-add -l && ssh-add -D注意事项:在不属于自己的机器上使用完代理后应及时清空,避免私钥被同机其他进程调用。