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.
fonte
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)
Se seu pessoal estiver usando o ssh-agent, você pode colocar isso no seu .bashrc:
fonte
Experimente brincar com o
LogLevel
parâmetrosshd_config
. Para detalhes, consulteman sshd_config
fonte
Um bom post no blog responde à sua pergunta: http://www.screenage.de/blog/2012/02/10/how-to-log-history-and-logins-from-multiple-ssh-keys-under-one- conta-usuário-com-fantoche /
fonte