Aqui está um script python que escrevi para automatizar o seguinte processo:
Para criptografar, o protocolo do ssh-agent (consulte o RFC rascunho para detalhes) permite que você assine dados arbitrários com uma chave privada, então:
- escolha um número aleatório
- peça ao ssh-agent para assiná-lo
- use a assinatura para derivar uma chave simétrica
- criptografar seus dados com a chave simétrica
- salve o número aleatório e os dados criptografados (mas não a chave simétrica) no disco
e para descriptografar:
- leia o número aleatório e os dados criptografados de volta do disco
- solicite ao ssh-agent para assinar o número aleatório
- use a assinatura para derivar a mesma chave simétrica usada para criptografar os dados
- descriptografar os dados!