ssh-add -l 不显示 SSH 密钥的位置

ssh-add -l 不显示 SSH 密钥的位置

当我运行时ssh-add -l,它不显示 SSH 密钥的位置。它输出以下内容:

4096 SHA256:bBMtB9wL6RXRWhvx5M+LDox6A2gq61CDtZN9F4bi3Gw [email protected] (RSA)
2048 SHA256:QbCO5y5SX+CSHd6++yXPpJuWGrxGCx5liNktjz51ZWY masoud@x (RSA)

我怎样才能让它也显示关键位置?

我运行的是 macOS Mojave 10.14.4。

答案1

ssh-agent不缓存加载密钥的文件名,因此没有选项可以显示它。输出中的第三个字段ssh-keygen -l是自由格式注释,因此在列出代理持有的密钥时,您有两个选项可以在该字段中显示文件名:

  1. 创建密钥时使用ssh-keygen,手动指定(预期的)文件路径作为注释,而不是接受默认注释:

    ssh-keygen -t rsa -b 4096 -C "/home/user/.ssh/id_rsa"
    
  2. 创建key时,手动指定评论。如果私钥没有注释,那么ssh-agent 将使用文件名作为注释反而:

    ssh-keygen -t rsa -b 4096 -C ""
    

对于已经存在并且有注释的键以外文件名,没有办法通过ssh-add -l.

相关内容