我一直想知道为什么这样一个基本功能(加载 ssh 密钥以供持久使用)需要在命令行后台执行一个笨重的命令。为什么 ssh-agent 默认不是一项服务(例如)?我猜可能是出于安全原因,但我很想知道其他想法。
答案1
如果您使用ssh-agent
攻击者可以从内存中获取未加密的密钥。请参阅https://www.netspi.com/blog/technical/network-penetration-testing/stealing-unencrypted-ssh-agent-keys-from-memory/
答案2
如果ssh-agent
默认情况下未运行,则打包程序和系统管理员没有为您设置它。由于这是个人偏好问题,并且对安全很重要,因此默认情况下不启用对我来说是合理的。如何在许多环境中设置它的方法已经存在。
ssh-agent
打印出 shell 变量来评估的做法并不是大多数程序的典型做法。
其他 ssh 代理可能具有更友好的体验。例如,在桌面上存在Gnome Keyring SSH 代理。