web-dev-qa-db-fra.com

Comment puis-je chiffrer un fichier?

Je voudrais télécharger des fichiers de mon serveur dans mon ordinateur portable et que c'est que je veux que cette communication soit aussi furtive et sécurisée comme possible. Donc, loin, je suis venu à l'aide de VPN, de cette façon, j'ai redirigé toute la circulation Internet de mon ordinateur portable via mon serveur. De plus, j'ai essayé d'envoyer un fichier à l'aide de FTP et d'observer Wireshark en même temps. La communication semble être cryptée, mais je voudrais également crypter le fichier lui-même (en tant que 2e Security ou quelque chose comme ça).

Mon serveur est un Raspi exécutant Raspbian. Mon ordinateur portable est MacBook Air.

Je souhaite d'abord chiffrer un fichier dans mon RAS PI et le télécharger deuxièmement. Comment puis je faire ça?

10
drpaneas

Vous pouvez utiliser openssl pour chiffrer et décrypter à l'aide de chiffres symétriques basés sur des touches. Par exemple:

openssl enc -in foo.bar \
    -aes-256-cbc \
    -pass stdin > foo.bar.enc

Cela crypte foo.bar à foo.bar.enc (vous pouvez utiliser le -out Basculer pour spécifier le fichier de sortie, au lieu de rediriger STDOUT comme ci-dessus) à l'aide d'un fichier 256 bit [~ # ~] AES [~ # ~ ~] Cipher dans CBC mode. Il y a divers autres chiffres disponibles (voir man enc). La commande attendra ensuite que vous entriez un mot de passe et d'utiliser cela pour générer une clé appropriée. Vous pouvez voir la clé avec -p ou utilisez votre propre à la place d'un mot de passe avec -K (En réalité, il est légèrement plus compliqué que celui depuis un vecteur d'initialisation ou source est nécessaire, voir man enc de nouveau). Si vous utilisez un mot de passe, vous pouvez utiliser le même mot de passe pour déchiffrer, vous n'avez pas besoin de regarder ou de conserver la clé générée.

Pour décrypter ceci:

openssl enc -in foo.bar.enc \
    -d -aes-256-cbc \
    -pass stdin > foo.bar

Notez le -d. Voir également man openssl.

22
goldilocks

Pour les cas ponctuels, vous pouvez chiffrer à l'aide d'un mot de passe ZIP et un mot de passe. Bien que pas aussi fort que des techniques fondées sur la clé (car il est difficile d'avoir un bon mot de passe), il s'agit probablement de quelques situations ad hoc.

La ligne de commande ressemble à ceci:

Zip -r -0 -e encrypted_file.Zip /path/to/files

-r to recurse directories.
-e to encrypt
4
Hogan