Existe uma ferramenta para isso. É chamado audit
e pode registrar uma grande quantidade de informações para um ou mais usuários específicos ou para todos os usuários. No entanto, como as regras de auditoria serão verificadas para cada syscall no servidor, isso pode significar um desempenho reduzido. Também não inclui informações de IP; para obter isso, você precisaria combinar o log de auditoria com o log SSH para ver de qual IP o usuário efetuou login.
Informações sobre como aplicar regras de auditoria podem ser encontradas executando man auditctl
.