Eu não acho que exista uma solução pronta para isso, então você tem que trabalhar nisso.
-
Conectar as caixas do Linux ao Active Directory é relativamente fácil, pois o AD funciona como um LDAP e o Linux pode se autenticar em relação ao LDAP por muito tempo. Há também alguma solução específica de AD. Eu sugeriria o google para "diretório ativo do linux sssd" primeiro.
-
Acho que é isso que você precisa implementar. Uma maneira possível: você pode adicionar / remover usuários a grupos e a autenticação do AD da caixa Linux (ponto anterior) pode ser baseada na participação em grupos.
-
O segundo fator pode ser independente do AD, você pode configurar uma autenticação de fator 2 para sua caixa do Linux. Uma maneira (popular) é usar o google authenticator. (Não fique confuso, não é nada relacionado a contas do Google.)
-
Para evitar novos logins é fácil, com base em sua escolha no segundo ponto, você pode remover o usuário do grupo após um tempo limite ou algo similar. Mas eu não sei como terminar as sessões já em execução ... Pode ser que você possa implementar um serviço simples que elimine todos os processos do usuário com base em alguma condição (novamente a associação do grupo AD?)