Linux SSH证书认证下如何获取当前登录会话的证书信息?
获取当前SSH会话的证书KEY ID(无需查看日志)
如果你的SSH连接开启了agent转发(客户端登录时使用-A选项,或配置了ForwardAgent yes),可通过以下命令直接提取当前会话的证书KEY ID:
- 查看证书完整详情(包含Key ID、有效期、颁发者等信息):
ssh-keygen -L -f <(ssh-add -L | grep ssh-rsa-cert-v01@openssh.com)
- 仅提取Key ID:
ssh-keygen -L -f <(ssh-add -L | grep ssh-rsa-cert-v01@openssh.com) | grep -oP 'Key ID: \K.*'
无agent转发的情况
如果未开启agent转发,服务器端无法通过简单命令直接获取当前会话的证书KEY ID(证书仅在认证阶段由客户端发送给服务器,认证完成后不会在服务器端留存会话级副本)。这种情况下,可在客户端登录时通过以下命令查看证书信息:
ssh -v user@server 2>&1 | grep -oP 'key ID \K.*'
内容的提问来源于stack exchange,提问作者gowtham krishna
相关产品推荐
相关产品推荐

