在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