在OpenSSH 7.6后,可以在sshd_config的设置档中添加
ExposeAuhtInfo yes的参数,重启sshd,然后再登录,
就会有环境变量$SSH_USER_AUTH
这能功写暂存档在tmp中,文件内含登录公钥
如下图:
dlaravel@654c1c7fca4b:~$ env|grep SSH
SSH_USER_AUTH=/tmp/sshauth.vWH6DS7R8VSTwrx
SSH_CONNECTION=192.168.88.244 52377 172.29.0.3 22
SSH_CLIENT=192.168.88.244 52377 22
SSH_TTY=/dev/pts/0
可以cat变量看看
cat $SSH_USER_AUTH
publickey ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIKdlWExfqzI8Yo2WxisQIGizaOx9hYKfnstSsyg6T+1
或许有人会问,弄这能做什么,当一堆人登录远程主机同一个帐号时,
对我来说,我能从暂存档中,知道谁用那一把OpenSSH公钥登录该主机。
dlaravel@7661c008b271:/tmp$ ls -lh sshauth.*
-rw------- 1 dlaravel dlaravel 91 12月 10 12:16 sshauth.qKAzxWvnbGmaT01
-rw------- 1 dlaravel dlaravel 91 12月 10 12:16 sshauth.Qvxh5tjKX6z0ZvW
示意图,例如下方这两个登录的到底是谁跟谁,有了暂存档就看的出来罗。
dlaravel@7661c008b271:/tmp$ w
12:27:49 up 44 days, 3:48, 2 users, load average: 0.11, 0.07, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
dlaravel pts/0 192.168.88.244 12:16 1.00s 0.01s 0.00s w
dlaravel pts/2 192.168.88.86 12:27 7.00s 0.00s 0.00s -bash
No Comment
Post your comment