Portanto, o cenário é: Dado que sou Bob, quero criptografar alguma mensagem para Alice. A única chave pública que tenho é o ssh-rsa
id_rsa.pub assim:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyb + qaZLwgC7KAQJzYikf3XtOWuhlMXVv2mbTKa5dp0sHPRd2RaYnH8ZRkt7V8bjqct1IHGCuxI8xyoEp4at3FHe6j9RfWiarc1ldLUCmTtryI0GGpRs6Zpvqdtpcq / 1NCIYtUQAvsImyEFCtqmB2suDo1ZSllZQ0x9TCKHdCANYIOeaniuFzR57POgE3vxk / r6PO24oy8BIWqxvi29r0n1LUigVBJ7CmMHuzb4 / + i1v6PxV1Lqnj6osPP9GpXpsh8kLUCby / KcmcryWNdSP0esyCdDxkA5hlIuk8qL1vzsyPluUQuc0BEHu6nuw8WQlCF1mFFxcpJL + MhWEr01WIIw == [email protected]
Portanto, existe uma maneira de criptografar uma string usando essa chave pública para que ela possa usar sua chave privada de id_rsa
(gerada de ssh-keygen
) para descriptografar a mensagem?
(Eu sei que é possível imediatamente se você estiver usando .pem
um arquivo de par de chaves. Se você puder me mostrar como converter isso para o formato openssl
compatível, isso também seria ótimo!)
Obrigado!
fonte
ssh-rsa
chave pública deles e não quero adicionar outra camada de complexidade (como pedir ao destinatário para instalar o gpg etc.)Respostas:
É possível converter sua chave pública ssh para o formato PEM (que 'openssl rsautl' pode lê-lo):
Exemplo:
Supondo que 'myMessage.txt' seja sua mensagem, que deve ser criptografada em chave pública.
Em seguida, basta criptografar sua mensagem com openssl rsautl e sua chave pública PEM convertida, como faria normalmente:
O resultado é sua mensagem criptografada em 'myEncryptedMessage.txt'
Para testar seu trabalho para descriptografar a chave privada de Alice:
fonte
ssh-keygen
não tem uma-m
opção. (Não consigo descobrir como solicitar ao ssh-keygen sua versão.) Substituir-m
por-t
obras, mas depoisopenssl
diz "não é possível carregar a chave pública". Consulte stackoverflow.com/questions/18285294/… .Experimente o ssh-vault, ele usa chaves públicas ssh-rsa para criptografar "crie um cofre" e a chave privada ssh-rsa para descriptografar "exibir o conteúdo do cofre"
fonte
Por que não fazer isso da maneira super óbvia que não requer rolagem de sua própria criptografia?
Alice envia um sftps para [email protected], que é configurado para permitir apenas a autenticação de chave pública para a conta alice. As propriedades do ssh garantem que apenas o alice possa se authemticar. Até mesmo um homem no ataque do meio falha desde que (supondo que você desative o ssh1 e insista nas configurações corretas) a comunicação inicial usando DH cria um valor conhecido por alice e bob, mas não por qualquer homem no meio e isso pode ser usado para autenticar que nenhuma resposta ou ataque do MITM possa ver o conteúdo do communicatino.
Então, alice sftp em sua caixa e baixe o arquivo.
fonte