繁体   English   中英

如何使用 ssh-add 从代理中删除身份(pem 文件)

[英]How to use ssh-add to remove identities (pem files) from the agent

我可以使用ssh-add轻松地将 pem 文件添加到我的 SSH 代理,如下所示:

$ ssh-add /home/jsmith/keys/mytest.pem

但我似乎无法删除它们:

$ ssh-add -d /home/jsmith/keys/mytest.pem
Bad key file /home/jsmith/keys/mytest.pem: No such file or directory

pem 文件仍然存在...我没有以任何方式移动或更改它。 为什么从我刚刚添加的 SSH 代理中删除这个 pem 文件时遇到这么多麻烦? 这样做的正确方法是什么?

我想避免使用ssh-add -D (带有大写“D”),因为这会从我的 SSH 代理中删除所有身份,而我只想删除我指定的身份。

您必须为此使用公钥。 因此,首先提取公钥,然后将其从代理中删除。

ssh-keygen -y -f /home/jsmith/keys/mytest.pem > /home/jsmith/keys/mytest.pub
ssh-add -d /home/jsmith/keys/mytest.pub

手册页也提到了“公钥”:“如果在给定路径上找不到公钥,ssh-add 将附加 .pub 并重试”。

如果您知道与密钥关联的注释,您可以简单地从代理获取公钥并将其重新输入以将其删除。

ssh-add -L | grep -F 'test@example.com' | ssh-add -d -

我发现的最佳选择是重新添加相同的文件,但生命周期为 1 秒:

ssh-add -t 1 myfile.pem

它比提取公钥更容易记住。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM