Cada novo usuário que se conectar gera uma nova sshdsessão com um PID específico. Você pode usar pstreepara imprimir quais comandos são herdados de qual sshdsessão e depois fazer a verificação cruzada desse PID /var/log/auth.log.
Exemplo (anonimizado): Entrei em um servidor remoto com 3 sessões simultâneas, com o mesmo usuário remoto. Agora eu quero descobrir de qual IP o cliente veio que executou o comando watch date.
$ pstree -p | grep watch
| |-sshd(15243)---sshd(15342)---bash(15343)---watch(15450)
$ sudo grep 15243 /var/log/auth.log
Mar 7 15:37:29 XXXXXXXXXX sshd[15243]: Accepted publickey for XXXXXXXXXX from 12.34.56.78 port 48218 ssh2
Mar 7 15:37:29 XXXXXXXXXX sshd[15243]: pam_unix(sshd:session): session opened for user XXXXXXXXXX by (uid=0)
Mar 7 15:37:44 XXXXXXXXXX sudo: XXXXXXXXXX : TTY=pts/7 ; PWD=/home/XXXXXXXXXX ; USER=root ; COMMAND=/bin/grep 15243 /var/log/auth.log
pstree -pmostra que o watchcomando é herdado do sshdPID 15243. greping para esse PID /var/auth/auth.logmostra que foi o IP 12.34.56.78 que iniciou esta sessão. Portanto, este também é o usuário que iniciou watch.
Quanto a encontrar historyespecificamente esse usuário, isso não pode ser feito pelo que posso ver quando todos os usuários remotos estão usando o mesmo usuário SSH local. Além disso, ele pode ser facilmente falsificado / inativado / etc., Portanto, não é realmente confiável. Se ele estiver salvo no arquivo de histórico, você poderá procurar o cpcomando e retroceder no arquivo, mas se não estiver lá, não há muito o que fazer.
grep: /var/log/auth.log: No such file or directory:-(