Tengo un sistema de producción donde varias personas diferentes pueden iniciar sesión en una sola cuenta: la cuenta es para la aplicación y no para la persona, ya que no tenemos cuentas personales en los servidores de producción.
Para fines de auditoría, quiero poder decir quién inició sesión a qué hora, y a medida que usamos las claves SSH para iniciar sesión, parece lógico rastrear eso (ya que no hay otro identificador para rastrear).
Cuando SSH autentica a un usuario, registra el nombre de usuario en el registro de seguridad del sistema, pero no registra cuál de las claves públicas autorizadas se utilizó en el inicio de sesión. ¿Es posible que OpenSSH también informe qué clave pública se utilizó? o tal vez solo el comentario asociado con esa clave?
El sistema operativo que se usa es CentOS 5.6, pero también me gustaría saber si es posible en otros sistemas operativos.
fuente
authorized_keys
archivo, así que hice este pequeño script para imprimir las huellas digitales de las claves autorizadas:(p="$(mktemp)";cat ~/.ssh/authorized_keys|while IFS="$(printf "\n")" read key; do echo $key > $p; ssh-keygen -lf $p; done; rm -f $p)
Si su gente está usando ssh-agent, puede poner esto en su .bashrc:
fuente
Intenta jugar con el
LogLevel
parámetro ensshd_config
. Para más detalles, consulteman sshd_config
fuente
Una buena publicación de blog responde a su pregunta: http://www.screenage.de/blog/2012/02/10/how-to-log-history-and-logins-from-multiple-ssh-keys-under-one- cuenta-usuario-con-marioneta /
fuente