%3F.png)
Eu configurei meuConta GitHub para usar U2Fusando Yubikey (em todo SSH), mas como eu também uso umPrompt do Git bash, portanto, sempre que uso meu terminal, sou solicitado a tocar na minha chave de segurança.
Não entendo muito bem a relação entre as credenciais SSH, a chave e o padrão FIDO U2F, por isso não tenho certeza de como configurar meu ambiente para parar de me avisar sempre que uso meu terminal.
Posso configurá-lo para perguntar apenas, digamos, uma vez por dia, ou uma vez por sessão ou algo assim?
Responder1
Em primeiro lugar, U2F éinacessível por design. Não é simplesmente uma senha; é um protocolo de desafio/resposta, no qual o token recebe um 'desafio' diferente a cada vez e emite assinaturas digitais semsemprerevelando suas chaves secretas para o PC (basicamente como um cartão inteligente). É aí que reside a sua principal força.
O mesmo se aplica às clássicas senhas de uso único do Yubikey. Como o nome diz, eles sãoum tempo, e o servidor nunca aceitará a mesma senha mais de uma vez, nem qualquer senha mais antiga que uma já aceita.
Dito isto, há duas coisas que você pode fazer:
Primeiro, descubra o que está pedindo as credenciais, porque é definitivamentenãoSSH. O suporte U2Fpatchesainda não foi incorporado ao OpenSSH e nunca solicitou nenhuma entrada interativa – ele usa apenas pares de chaves SSH, não senha + 2fa.
ssh [email protected]
Da mesma forma, se você estiver realmente enviando HTTPS e não SSH, ainda não há integração U2F na autenticação HTTP, até onde eu sei, então, no máximo, será solicitado o código de 6 dígitos.
Se você tiver um Yubikey de tamanho normal, verifique se a luz está piscando quando solicitado. Ele pisca apenas enquanto aguarda a confirmação U2F – se estiver estável, enviará uma senha clássica de uso único. E se você pudervero Yubikey digitando uma senha longa, isso não é U2F.
Em segundo lugar, para SSHem geral, você pode ativar o recurso de cache/multiplexação de conexão do OpenSSH. Depois de fazer login em um servidor, o OpenSSH manterá essa conexão ativa por vários minutos, mesmo depois de você fechar o shell remoto (ou seja, mesmo depois que o Git terminar suas transferências).
Para fazer isso, coloque o seguinte no seu
~/.ssh/config
:Host * ControlMaster auto ControlPath ~/.ssh/S.%r@%h:%p ControlPersist 5m
(Versões mais antigas do OpenSSH não suportam ControlPersist, então você pode manter as outras duas opções, mas precisará iniciar a conexão manualmente com .)
ssh -fNM [email protected]