Eu tenho um sistema de produção em que várias pessoas diferentes podem fazer login em uma única conta - a conta é para o aplicativo e não para a pessoa, pois não temos contas pessoais em servidores de produção.
Para fins de auditoria, quero poder saber quem está conectado a que horas, e como usamos as chaves SSH para fazer login, parece lógico rastrear isso (como não há outro identificador para rastrear).
Quando o SSH autentica um usuário, ele registra o nome do usuário no log de segurança do sistema, mas não registra qual das chaves públicas autorizadas foi usada no logon. É possível fazer com que o OpenSSH também relate qual chave pública foi usada, ou talvez apenas o comentário associado a essa chave?
O sistema operacional em uso é o CentOS 5.6, mas eu também gostaria de saber se é possível em outros sistemas operacionais.
authorized_keys
arquivo, por isso fiz este pequeno script para printout as impressões digitais de chaves 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)