文章目录
  1. 1. 如何查找ssh keys登录的用户
    1. 1.1. ssh-keygen命令格式
    2. 1.2. ssh-keygen 命令man信息
    3. 1.3. 实践
      1. 1.3.1. 如下是我的公钥
      2. 1.3.2. 提取出公钥的指纹
    4. 1.4. 注意

如何查找ssh keys登录的用户

当使用ssh 公钥进行登录主机时,通常会遇到一个问题,如何判断是谁登录的呢?
多个运维人员同时在管理一台主机时,通常我们的做法都是在同一个用户下添加不同使用的ssh key的,如要对主机进行审计时,在确认是谁登录了主机就非常的困难。
还有一种方式就是能不同的人员创建不同的系统账号,在账号下为不同的用户添加不同的ssh keys;这样就可以避免这种情况的。
通过日志文件查询出来的是如下的信息:

1
2
3
4
Aug 29 09:51:15 PXE-Server sshd[2420]: Accepted publickey for root from 172.16.0.20 port 54692 ssh2: RSA 3e:d2:52:72:ab:21:b5:35:95:25:a1:b5:ef:3a:c3:a3
Aug 29 09:51:15 PXE-Server sshd[2420]: pam_unix(sshd:session): session opened for user root by (uid=0)
Aug 29 10:36:33 PXE-Server sshd[2735]: Accepted publickey for root from 172.16.0.20 port 58073 ssh2: RSA 3e:d2:52:72:ab:21:b5:35:95:25:a1:b5:ef:3a:c3:a3
Aug 29 10:36:34 PXE-Server sshd[2735]: pam_unix(sshd:session): session opened for user root by (uid=0)

通过分析日志发现日志中记录的是公钥的指纹信息,那问题来了,如何提取公钥的指纹信息的呢?
openssh程序包中命令ssh-keygen -lf来提取用户公钥的指纹信息

ssh-keygen命令格式

1
ssh-keygen -l [-f input_keyfile]

ssh-keygen 命令man信息

1
2
3
-l      Show fingerprint of specified public key file.  Private RSA1 keys are also supported.  For RSA and DSA keys ssh-keygen
tries to find the matching public key file and prints its fingerprint. If combined with -v, an ASCII art representation
of the key is supplied with the fingerprint.

实践

如下是我的公钥

1
2
 ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyDMnIe4NsK/km7bWLCdC5vmDFtx3D8+7sDzQwjJdivEg6vUhkbbwEodRqmCLTNSl+27bJ5Fk6zA/zkIwmOFNton0x0xqlMzyFlg2xR5nkUEE8PzBvpJqlzXQSaLCTANfULa7FtAiYkkYmneyBAw6/X5g1Zw8dYSFNYy0Fs+f9kSxsFIKsQo9ra0s5YOpu8vpX+jsaj69/DhgfQ4EbqpW8uow/FRP5QlgT3H8Nxd6CnrdDG/K0tc+uXbOwzje1cJFSl7NL833bNmWkgEoOd3hKynz13xau4AIXFw0PGL2o6YnGiC2UfWJafKkeJAsUDn1dCN/Q9HHAO1u9zL4ItVB5w==

提取出公钥的指纹

1
2
 ~]# ssh-keygen -lf .ssh/authorized_keys
2048 3e:d2:52:72:ab:21:b5:35:95:25:a1:b5:ef:3a:c3:a3 .ssh/authorized_keys (RSA)

注意

authorized_keys文件中存在多用户的公钥时,ssh-keygen -lf命令在提取公钥的指纹信息时,CentOS的系统将只会提取第一个用户的公钥指纹信息,如要提取其它用户的公钥指纹信息可将公钥保存单独的文件即可。

文章目录
  1. 1. 如何查找ssh keys登录的用户
    1. 1.1. ssh-keygen命令格式
    2. 1.2. ssh-keygen 命令man信息
    3. 1.3. 实践
      1. 1.3.1. 如下是我的公钥
      2. 1.3.2. 提取出公钥的指纹
    4. 1.4. 注意