gpt4 book ai didi

ssh - 监控ssh连接,从authorized_keys获取登录用户信息

转载 作者:行者123 更新时间:2023-12-04 22:08:13 25 4
gpt4 key购买 nike

有什么方法可以使用.ssh/authorized_keys通过id_rsa.pub连接linux系统时获取对应登录用户的邮箱?

我尝试使用 /var/log/auth.log 中的内容而我找不到记录和 .ssh/authorized_keys 之间的直接关系.

提前致谢。

最佳答案

可能有人需要它。 Next 命令打印有关用于当前 session 的 ssh key 的信息。 key 取自 ~/.ssh/authorized_keys 的标准注释块。 .

例如,somebody@test.com将打印一个看起来像这样的键:cyb5OrLRv0VR6gZev8...KdECf7Q== somebody@test.com
命令:

export CURRENT_SSH_USER=$(grep $(grep $(grep '@'$(who -m | awk '{print $2}') <(ps -ef) | head -1 | awk '{print $3}')']: Accepted publickey for' /var/log/auth.log | head -1 | awk '{print $16}') <(cat ~/.ssh/authorized_keys | xargs -n1 -I% bash -c 'ssh-keygen -l -f /dev/stdin <<<"%"') | tail -1 | awk '{print $3}')

上面的命令执行以下步骤:
  • who -m只有与标准输入关联的主机名和用户。
  • 以伪终端从机为例pts/2对于上一个当前用户。命令。
  • 搜索 pts/2在进程列表中 ps -ef并提取其pid。
  • 寻找pid,例如21996/var/log/auth.log在这样的行中:Jul 22 01:50:39 whatever-i-12345 sshd[21996]: Accepted publickey for ubuntu from 10.10.10.10 port 40411 ssh2: RSA SHA256:V4DD10NklAAAAAHNgxaurm1qaq/TOTejNjXMQABABAB .确保您启用了正确的日志记录。
  • 一次指纹SHA256:V4DD10NklAAAAAHNgxaurm1qaq/TOTejNjXMQABABAB找到,它与来自 /.ssh/authorized_keys 的行匹配从注释块中检索有关名称的信息。

  • 备注:

    仅在 Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64) 上测试

    关于ssh - 监控ssh连接,从authorized_keys获取登录用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873749/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com