Come posso crittografare un file?


11

Vorrei scaricare alcuni file dal mio server sul mio laptop, e il fatto è che voglio che questa comunicazione sia invisibile e sicura come può essere. Quindi, fino ad ora sono arrivato utilizzando VPN, in questo modo reindirizzo l'intero traffico Internet del mio laptop tramite il mio server. Inoltre, ho provato a inviare un file usando ftp e osservando Wireshark allo stesso tempo. La comunicazione sembra essere crittografata, tuttavia vorrei anche crittografare il file stesso (come protezione di secondo passaggio o qualcosa del genere).

Il mio server è un RasPi con Raspbian. Il mio laptop è Macbook Air.

Voglio innanzitutto crittografare un file nel mio Ras Pi e poi scaricarlo. Come lo posso fare?


1
gpgpuò crittografare i file, in modo asimmetrico (utilizzando una chiave pubblica per la crittografia e una chiave privata per la decrittografia) o simmetricamente (utilizzando la stessa chiave / password per la crittografia e la decrittografia: dewinter.com/gnupg_howto/english/GPGMiniHowto.html
Martin von Wittich

Perché non utilizzare un protocollo come HTTPS, SFTP o FTPS? Se la comunicazione è crittografata, l'aggiunta di un secondo livello di crittografia non ti farà guadagnare nulla.
Gilles 'SO- smetti di essere malvagio' il

Risposte:


22

È possibile utilizzare opensslper crittografare e decrittografare utilizzando le cifre simmetriche basate su chiave. Per esempio:

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

Questa cripta foo.bara foo.bar.enc(è possibile utilizzare l' -outopzione per specificare il file di output, invece di reindirizzare stdout come sopra) utilizzando un 256 bit AES algoritmo in CBC modalità. Sono disponibili varie altre cifre (vedi man enc). Il comando attenderà quindi l'inserimento di una password e la utilizzerà per generare una chiave appropriata. Puoi vedere la chiave con -po usare la tua al posto di una password con -K(in realtà è leggermente più complicata di quella poiché è necessario un vettore di inizializzazione o una fonte, vedi di man encnuovo). Se si utilizza una password, è possibile utilizzare la stessa password per decrittografare, non è necessario guardare o conservare la chiave generata.

Per decrittografare questo:

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

Notare il -d. Vedi anche man openssl.


Inoltre, è possibile generare il risultato in un file utilizzando l'opzione -out FILENAMEanziché eseguire il piping nell'output.
crazyGuy

4

Per i casi una tantum è possibile crittografare utilizzando zip e una password. Sebbene non sia forte come le tecniche basate su chiavi (perché è difficile avere una buona password), probabilmente è una buona situazione ad hoc.

La riga di comando è simile alla seguente:

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

-r to recurse directories.
-e to encrypt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.