Nik*_*iks 14 ssh terminal sshd ssh-agent macos
id_rsa
在其默认位置创建具有名称的密钥后。我正在使用命令向 SSH 代理添加身份ssh-add ~/.ssh/id_rsa
,添加成功。
我可以在不输入密钥密码的情况下进行 SSH,因为它已经与 SSH 代理一起使用了。
但是,当我重新启动机器或服务器,然后使用命令检查身份时,ssh-add -L
我收到类似The agent has no identities
.
这是否意味着当我们重新启动机器时,Agent 丢失了身份?这是正常行为还是我在这里缺少的东西?
请指导我,我对SSH不太熟悉。
use*_*686 14
这是正常的。密钥代理的目的只是将解密的密钥保存在内存中,但它永远不会将它们写入磁盘。(这会破坏目的——为什么不直接取消保护主密钥呢?)
因此必须在每次登录时解锁密钥,并且您需要自动执行此操作 - 在 Linux 上使用pam_ssh
是一种选择;它会自动使用您的操作系统密码来解锁代理。另一个类似的模块是pam_envoy
,它稍微更可靠 afaik(但需要 systemd)。
两个模块都将启动代理本身并自动加载密钥。
小智 6
在 OS X 上,如果您决定将私钥存储在其中,则 ssh-add 有一个特殊标志可以连接到钥匙串。
赶紧跑ssh-add -K ~/.ssh/id_rsa
。
我相信这更全面地回答了你的问题。这个 OS X 特定标志很难找到相关文档,但至少从 OS X Leopard 开始它就一直在工作。
归档时间: |
|
查看次数: |
9311 次 |
最近记录: |