Todos, tengo un host Ubuntu que acepta conexiones SSH. ¿Cómo puedo registrar todos los comandos que se ejecutan en una cuenta específica que inicia sesión a través de SSH?
@Lexicon: AFAIK no hay un paquete de Deb ya compilado disponible, solo un archivo fuente. La instalación de una aplicación desde el origen se describe aquí , por ejemplo. El archivo INSTALL ubicado en el archivo fuente describe las diferentes opciones de configuración que puede configurar antes de compilarlo.
tohuwawohu
4
Puedes probar con snoopy. Después de instalarlo, registrará todos los comandos de entrada que llaman a execve a syslog. solo lo encontrarás en los repositorios para que sea resistente y preciso.
auth.log contiene información de sesión abierta y cerrada, pero no comandos que se ejecutaron mientras estaba conectado. .Bash_history solo muestra comandos locales, nada a través de la sesión ssh (al menos por lo que puedo decir).
Lexicon
~ / .bash_history no funcionará ya que el usuario puede alterar el archivo.
Panther
.bash_history no muestra lo que sucede a través de ssh.
Lexicon
Lo que hay .bash_historydepende de cómo lo hayas configurado. Puede mostrar desde una combinación de cada sesión de shell concurrente hasta nada en absoluto. (I export HISTFILE=''en mi .bashrcen todos los sistemas para desactivar la grabación historia por razones de seguridad, por ejemplo.)
CJS
1
Tengo un problema similar y escribí la herramienta log-user-session que almacena todos los resultados de shell en un archivo de registro de sesión accesible solo para root. Se puede habilitar mediante un comando forzado en sshd_conf o ~ / .ssh / claves autorizadas (consulte la documentación ).
Puedes probar con snoopy. Después de instalarlo, registrará todos los comandos de entrada que llaman a execve a syslog. solo lo encontrarás en los repositorios para que sea resistente y preciso.
Puedes instalarlo desde aquí .
fuente
No creo que SSHD registre comandos mientras el usuario está conectado.
puede verificar quién inició sesión marcando
/var/log/auth.log
y referencias cruzadas a su historia
/home/sshuser/.bash_history
Sin embargo, la historia tendrá comandos locales o remotos.
fuente
.bash_history
depende de cómo lo hayas configurado. Puede mostrar desde una combinación de cada sesión de shell concurrente hasta nada en absoluto. (Iexport HISTFILE=''
en mi.bashrc
en todos los sistemas para desactivar la grabación historia por razones de seguridad, por ejemplo.)Tengo un problema similar y escribí la herramienta log-user-session que almacena todos los resultados de shell en un archivo de registro de sesión accesible solo para root. Se puede habilitar mediante un comando forzado en sshd_conf o ~ / .ssh / claves autorizadas (consulte la documentación ).
fuente