Recentemente, testei o Hashicorp Vault e o achei muito útil.
Estou tentando configurar certificados SSH assinados para efetuar login em meus hosts/servidores remotos, conforme este guia:
https://developer.hashicorp.com/vault/docs/secrets/ssh/signed-ssh-certificates
Enviei o arquivo .pem público do Vault para o host de destino no qual desejo fazer login e apontei para ele em /etc/ssh/sshd_config usando TrustedUserCAKeys /etc/ssh/trusted-user-ca-keys.pem
Gerei um par de chaves públicas privadas no meu cliente. Obtive a chave pública assinada pelo Vault no meu servidor Vault usando esse guia e enviei de volta para o cliente.
Eu consigo fazer ssh no host de destino sem problemas com senha ou chave privada ssh. O que eu não consigo fazer funcionar é ssh com a chave pública assinada e também forçá-lo a usar somente esse método.
Aqui estão os comandos que tentei adicionar ao arquivo de configurações do host (Debian) /etc/ssh/sshd_config: usePAM no PasswordAuthentication no ChallengeResponseAuthentication no PubKeyAuthentication no
Aqui está o comando ssh que estou usando: ssh -v -o “IdentityOnly yes” -o CertificateFile=“/path/to/signedcert.pub” -i “/path/to/privatekey” user@IP
As saídas -v indicam que ele tenta as várias opções, mas, no final das contas, o certificado assinado não funciona e ele retorna para a autenticação de senha (o que também não está claro para mim, pois pensei que meus comandos em sshd_config seriam suficientes para desabilitar isso...). Estou executando sudo systemctl restart sshd ao fazer essas alterações no host de destino.
Qualquer conselho ou sugestão seria muito apreciado, pois estou me sentindo um tanto bloqueado, mas provavelmente estou esquecendo de algo óbvio...
Obrigado pela ajuda!