Bagaimana saya bisa mengenkripsi file?

11

Saya ingin mengunduh beberapa file dari server saya ke laptop saya, dan masalahnya adalah saya ingin komunikasi ini senyaman dan seaman mungkin. Jadi, sejauh ini saya menggunakan VPN, dengan cara itu saya mengarahkan seluruh lalu lintas internet laptop saya melalui server saya. Selain itu, saya mencoba mengirim file menggunakan ftp dan mengamati Wireshark secara bersamaan. Komunikasi tampaknya dienkripsi, namun saya juga ingin mengenkripsi file itu sendiri (sebagai langkah keamanan ke-2 atau sesuatu seperti itu).

Server saya adalah RasPi yang menjalankan Raspbian. Laptop saya adalah Macbook Air.

Saya ingin terlebih dahulu mengenkripsi file di Ras Pi saya dan kedua mengunduhnya. Bagaimana saya bisa melakukan itu?

drpaneas
sumber
1
gpgdapat mengenkripsi file, baik secara asimetris (menggunakan kunci publik untuk enkripsi dan kunci pribadi untuk dekripsi) atau secara simetris (menggunakan kunci / kata sandi yang sama untuk enkripsi dan dekripsi: dewinter.com/gnupg_howto/english/GPGMiniHowto.html
Martin von Wittich
Mengapa tidak menggunakan protokol seperti HTTPS, SFTP atau FTPS? Jika komunikasi dienkripsi, menambahkan enkripsi lapis kedua tidak akan memberi Anda apa-apa.
Gilles 'SANGAT berhenti menjadi jahat'

Jawaban:

22

Anda dapat menggunakan openssluntuk mengenkripsi dan mendekripsi menggunakan sandi simetris berbasis kunci. Sebagai contoh:

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

Ini mengenkripsi foo.barke foo.bar.enc(Anda dapat menggunakan -outsaklar untuk menentukan file output, alih-alih mengarahkan ulang stdout seperti di atas) menggunakan cipher AES 256 bit dalam mode CBC . Ada berbagai cipher lainnya yang tersedia (lihat man enc). Perintah kemudian akan menunggu Anda untuk memasukkan kata sandi dan menggunakannya untuk menghasilkan kunci yang sesuai. Anda dapat melihat kunci dengan -patau menggunakan kata sandi Anda sendiri -K(sebenarnya itu sedikit lebih rumit dari itu karena vektor inisialisasi atau sumber diperlukan, lihat man enclagi). Jika Anda menggunakan kata sandi, Anda dapat menggunakan kata sandi yang sama untuk mendekripsi, Anda tidak perlu melihat atau menyimpan kunci yang dihasilkan.

Untuk mendekripsi ini:

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

Perhatikan -d. Lihat juga man openssl.

goldilocks
sumber
Selain itu, Anda dapat menampilkan hasilnya ke file menggunakan opsi -out FILENAMEdaripada piping di output.
crazyGuy
4

Untuk kasus satu kali, Anda dapat mengenkripsi menggunakan zip dan kata sandi. Meskipun tidak sekuat teknik berbasis kunci (karena sulit untuk memiliki kata sandi yang baik) mungkin situasi ad-hoc baik-baik saja.

Baris perintah terlihat seperti ini:

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

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