Ubuntu 22.04环境下ssh-agent存储SSH密钥口令位置的疑问
Ubuntu 22.04环境下ssh-agent存储SSH密钥口令位置的疑问
嗨,我来帮你拆解这个问题~
首先得明确:单纯的ssh-agent本身是不会在重启后保存你的密钥口令的,它只是在当前会话里临时缓存口令而已。你重启电脑后还不用输入口令,核心原因是Ubuntu 22.04默认桌面环境(比如GNOME)自带的GNOME Keyring工具和ssh-agent做了集成,真正帮你持久存储口令的是它。
关于具体的存储位置:
- 你的SSH密钥口令会被加密存在用户目录下的
~/.local/share/keyrings/文件夹里,里面通常会有login.keyring或者ssh.keyring这类文件,这些文件是用你登录系统时的用户密码加密保护的,安全性有保障。 - 每次你登录Ubuntu桌面时,GNOME Keyring会自动用你的系统登录密码解锁,然后自动把密钥口令同步给
ssh-agent,所以你完全不用手动输入就能用SSH密钥。
至于你之前按照教程操作后就实现了持久化,是因为当时的操作实际上是把密钥添加到了GNOME Keyring管理的ssh-agent实例中,而非临时启动的ssh-agent进程,所以重启后依然有效。
如果想直观查看和管理这些存储的口令,可以打开系统自带的seahorse(GNOME密钥管理器)图形工具,就能看到对应的SSH密钥条目啦。
备注:内容来源于stack exchange,提问作者Makubu
相关产品推荐
相关产品推荐

