É possível fazer o comando sudo suportar chaves privadas SSH, para que, quando o usuário efetue login usando uma chave privada, ele possa sudo sem digitar uma senha.
Isso permitiria o armazenamento das senhas sysadmin do UNIX em um armazenamento a frio criptografado e nunca seria necessário acessá-las, supondo que os usuários usem chaves SSH privadas seguras sempre para efetuar login no servidor.
sudo visudo
alterar sua senha paraNOPASSWD: ALL
ver se isso funcionaRespostas:
A opção para isso existe desde (pelo menos) abril de 2014 .
Você precisará instalar um pacote chamado
pam_ssh_agent_auth
(disponível para o Centos 7/etc/pam.d/sudo
imediatamente , YMMV) e, em seguida, configurar para aceitá-lo como um método de autorização. Por fim, pode ser necessário adicionarSSH_AUTH_SOCK
à lista de variáveis de ambiente que persistem durantesudo
.O wiki do Gentoo tem detalhes para essas etapas.
fonte
Isso não é possível sem algumas alterações sérias no código para sudo e sshd. O Sudo não conhece os métodos de login e o ssh não publica em outros programas nada que indique se chave pública, senha ou algum outro mecanismo foi usado para o login.
Como alguém disse, você pode usar a opção NOPASSWD em sudoers - isso se aplica a usuários especificados sempre, porém, não apenas quando eles usam ssh com chaves privadas.
Se você realmente quiser, pode haver truques que você pode fazer com um programa suid que verifica o log sshd e bloqueia / edita o arquivo sudoers para permitir que o usuário faça um sudo sem senha e uma tarefa periódica para revogar essa permissão.
Tudo isso dito, acho que é uma má ideia. Exigir uma senha para comandos privilegiados tem alguns benefícios interessantes que a chave privada SSH não possui. Notavelmente, permite que você tenha tempos limite para a autenticação (a senha deve ser reinserida, não verdadeira para as sessões ssh), permite que você tenha mínimos e rotação de senha (ao contrário das chaves ssh, que possuem uma senha fora do controle do servidor).
fonte
Algumas respostas Aponte para sudo sem uma senha de usuário separada. Você deve estar ciente de que isso diminuirá sua segurança.
Para um usuário que já se autenticou fortemente com um certificado, isso pode não ser um problema, porque ele está em posse do certificado que teoricamente poderia fazê-lo fazer root.
No entanto, se você pensar em vulnerabilidades que fornecerão a um invasor um shell de usuário limitado e esse usuário tiver o NOPASSWD definido no arquivo sudoers, o invasor será root sem ter nenhuma credencial para o Sistema.
Se o sudo exigir uma senha do usuário, o invasor precisará de tempo e sorte para aumentar seus privilégios de root.
fonte