Sim, é impossível recuperar a chave privada da chave pública. Se fosse possível, a RSA seria fundamentalmente quebrada, e isso seria uma notícia importante (quebrar a RSA não só prejudicaria a segurança da comunicação na Internet, mas também permitiria todos os tipos de fraude bancária, entre outros).
Fazer login com uma chave pública em vez de uma senha, na verdade, tende a aumentar a segurança. Se a sua senha não for strong o suficiente, ela 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 bruta forçada (uma chave de 1024 bits é equivalente a uma senha de 160 caracteres feita de letras e dígitos com distinção entre maiúsculas e minúsculas aleatórias) . Alguém que cuide de seu ombro pode ver sua senha e sua frase secreta, mas com uma chave eles também precisam 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), ela pode tentar forçar a senha, e ela pode fazê-lo em alta velocidade, pois você não tem como limitar a senha. taxa (ao contrário de adivinhações de senha que precisam ser feitas online). Se a 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 de privacidade: se alguém souber que você usou a mesma chave pública para logar em A e entrar em B, eles saberão que a mesma pessoa fez o login em A e B. Apenas possuindo o público chave faz você suspeitar que você também tem a chave privada, então você perde alguma anonimidade. Mas isso geralmente é menor, especialmente se você está apenas armazenando a chave em ~/.ssh
, onde apenas os administradores do sistema (que também sabem de qual endereço IP você fez login) podem vê-la.
Estas considerações de segurança à parte, 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 uma vez que você digitou sua chave em ssh-agent ou algo semelhante. Você não precisa digitar sua senha com tanta frequência, então você pode se dar ao luxo de torná-la com maior entropia (mais longa, mais difícil de digitar). Você não precisa digitar sua senha com tanta frequência, portanto, há menos risco de ser detectada por um observador humano ou por uma câmera.