Estou usando o Pop!_OS (essencialmente ubuntu + tweaks com um ambiente gnome) e recentemente adquiri um gerenciador de senhas de hardware Mooltipass.
Esta ferramenta tem a capacidade de gerenciar chaves SSH.
Eu queria saber se é possível e, em caso afirmativo, como se pode desabilitar o acesso por senha a um ambiente de desktop e usar a autenticação baseada em chave (estilo SSH) para fazer login?
A coisa mais próxima do que você está tentando fazer é:
pamusb-tools
elibpam-usb
.Configuração
pamusb
para usar seu mooltipasslsusb
para encontrar o ID do seu dispositivosudo panusb-conf --add-device usb-name
sudo panusb-conf --add-user username
sudo nano /etc/pam.d/common-auth
altere as duas linhas após o #Aqui estão os módulos por pacote, para ler:
auth suficiente pam_usb.so
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
Em seguida, configure seus outros programas para usar as credenciais no dispositivo mooltipass.
Isso permitirá o login com o mooltipass e também manterá suas outras senhas à mão.
Referência: aqui e aqui
A razão pela qual eu acho que isso é bom o suficiente é porque se a pessoa tem sua chave usb, ela a possui, independentemente de ser uma chave criptográfica ou o uuid/nome e número de série do dispositivo. A ressalva vem de não usar o código PIN para desbloquear o dispositivo e depois o computador. No entanto, se houver uma seção de dispositivo disponível quando o mooltipass estiver desbloqueado ou bloqueado, você poderá adicionar o dispositivo disponível quando o mooltipass estiver desbloqueado e, em seguida, seu ouro.
Você precisa editar
/etc/ssh/sshd_config
. Está tudo no manual. No Debian há muitos comentários, então você pode improvisar.Primeiro teste se a autenticação baseada em chave está funcionando, depois desabilite a autenticação por senha e teste se está desabilitada (talvez seja necessário reiniciar
sshd
).