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

Sal*_*oud 6 ssh ssh-agent

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

4096 SHA256:bBMtB9wL6RXRWhvx5M+LDox6A2gq61CDtZN9F4bi3Gw masoud@x.y (RSA)
2048 SHA256:QbCO5y5SX+CSHd6++yXPpJuWGrxGCx5liNktjz51ZWY masoud@x (RSA)
Run Code Online (Sandbox Code Playgroud)

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

我运行的是 macOS Mojave 10.14.4。

use*_*274 4

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

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

    ssh-keygen -t rsa -b 4096 -C "/home/user/.ssh/id_rsa"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建密钥时,手动指定注释。如果私钥没有注释,则将ssh-agent 使用文件名作为注释

    ssh-keygen -t rsa -b 4096 -C ""
    
    Run Code Online (Sandbox Code Playgroud)

对于已经存在并且具有除文件名之外的注释的键,没有办法通过 列出文件名ssh-add -l