Atualmente, trabalho remotamente para várias organizações que precisam que eu acesse seus servidores regularmente para manutenção e atualizações. É seguro adicionar minha chave SSH pública do RSA ao .ssh/authorized_keys
arquivo para permitir o login muito mais rápido / sem ter que procurar senhas? Opero sob a presunção de que seria impossível gerar a chave privada a partir da chave pública, mas estou certa em minha suposição?
Dando um passo adiante, haveria algum risco de segurança ao publicar o conteúdo da minha chave pública RSA na Internet? Sei que, se minha chave privada for obtida, estou com muitos problemas, mas, além disso, existem possíveis ameaças reais à segurança?
ssh
security
key-authentication
Naftuli Kay
fonte
fonte
Respostas:
Sim, é impossível recuperar a chave privada da chave pública. Se fosse possível, o RSA seria fundamentalmente quebrado, e isso seria uma notícia importante (quebrar o RSA não apenas quebraria muita segurança na comunicação na Internet, mas também permitiria todos os tipos de fraudes bancárias, entre outros).
Efetuar login com uma chave pública em vez de uma senha tende a aumentar a segurança. Se sua senha não for forte o suficiente, poderá ser forçada por um invasor com largura de banda suficiente. Se o invasor não tiver uma cópia do seu arquivo de chave privada, a chave RSA não poderá ser forçada com força bruta (uma chave de 1024 bits é equivalente a algo como uma senha de 160 caracteres feita de letras e dígitos que diferenciam maiúsculas de minúsculas) . Alguém que vigia por cima do seu ombro pode ser capaz de ver sua senha e sua senha de chave, mas com uma chave também precisará obter a chave.
As chaves privadas nem sempre são mais seguras que as senhas. Se o invasor obtiver uma cópia de seus arquivos de chave privada (por exemplo, roubando seu laptop ou sua mídia de backup), ele poderá tentar forçar a frase secreta com força bruta, e poderá fazê-lo em alta velocidade, pois você não tem como limitar o taxa (ao contrário de suposições de senha que precisam ser feitas online). Se sua senha for boa o suficiente e você perceber o roubo imediatamente, ainda terá tempo para revogar a chave.
Uma chave pública introduz um elemento de exposição à privacidade: se alguém souber que você usou a mesma chave pública para efetuar login em A e B, eles conhecerão a mesma pessoa que efetuou login em A e B. Apenas possuir a chave pública faz com que você um suspeito de que você também tem a chave privada, para perder alguma anonimidade. Mas isso geralmente é pequeno, especialmente se você está apenas armazenando a chave
~/.ssh
onde apenas os administradores do sistema (que também sabem em qual endereço IP você se conectou) podem vê-lo.Tirando essas considerações de segurança, uma chave privada tem muitas vantagens práticas. Você não precisa digitar sua senha com tanta frequência e, em particular, pode executar scripts automatizados que não solicitam depois que você digita sua chave no ssh-agent ou algo semelhante. Você não precisa digitar sua senha com tanta frequência, para ter uma entropia mais alta (mais longa, mais difícil de digitar). Você não precisa digitar sua senha com tanta frequência; portanto, há menos risco de que ela seja bisbilhotada por um observador ou câmera humana.
fonte
A resposta de Gilles é geralmente boa, exceto
Suas chaves ssh
~/.ssh
também podem ser lidas por qualquer software executado em sua própria conta. Qual é provavelmente a maior parte do software que você executa. Portanto, você deve confiar nesse software e naqueles que o escreveram.fonte