การเข้ารหัสไฟล์และโฟลเดอร์ผ่านเทอร์มินัล


16

ฉันใหม่สำหรับการเข้ารหัสบน Ubuntu

มีวิธีการเข้ารหัสไฟล์และโฟลเดอร์ด้วยรหัสผ่านจาก terminal หรือไม่ โดยไม่ต้องใช้truecryptหรือcryptkeeperเป็นต้น

คำตอบ:


15

คุณสามารถเข้ารหัสและถอดรหัสไฟล์ด้วย gpg

เพื่อเข้ารหัสไฟล์

gpg -c file.to.encrypt

เพื่อถอดรหัสไฟล์

gpg file.to.encrypt.gpg

แต่ gpg จะไม่ทำไดเรกทอรีทั้งหมด สำหรับไดเรกทอรีทั้งหมดคุณมีหลายตัวเลือก ecryptfs เป็นที่นิยม

# Install if ecryptfs-utils if needed
sudo apt-get install ecryptfs-utils

# Make an encrypted directory
ecryptfs-setup-private

ที่จะทำให้ไดเรกทอรี "ส่วนตัว" ข้อมูลใด ๆ ที่คุณใส่ในไดเรกทอรีPrivateจะถูกเข้ารหัสโดยอัตโนมัติเมื่อคุณออกจากระบบและถอดรหัสเมื่อคุณเข้าสู่ระบบ

หากคุณต้องการพฤติกรรมที่แตกต่างหรือไดเรกทอรีอื่น ...

mkdir ~/secret
chmod 700 ~/secret

sudo mount -t ecryptfs ~your_user/secret ~your_user/secret

ใส่ข้อมูลของคุณลงใน ~ / secrte

เพื่อเข้ารหัส

sudo umount ~your_user/secret

เพื่อถอดรหัส

sudo mount ./secret ./secret -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes

คำแนะนำ: สร้างนามแฝงสำหรับคำสั่งที่สองนั้น

ดูhttp://bodhizazen.com/Tutorials/Ecryptfsหรือman ecryptfsสำหรับรายละเอียดเพิ่มเติม


10

ecryptfs จะเข้ารหัสไฟล์และโฟลเดอร์อย่างแน่นอนทำให้มั่นใจได้ว่าข้อมูลที่ได้รับการเขียนลงดิสก์นั้นจะถูกเข้ารหัสอยู่เสมอและแอปพลิเคชันที่ต้องการการเข้าถึงบริบท cleartext สามารถรับสิ่งนั้นได้อย่างราบรื่น

อย่างไรก็ตามเพื่อตอบคำถามของคุณโดยเฉพาะคุณสามารถเข้ารหัสไฟล์เดียวด้วยข้อความรหัสผ่านและ gpg:

gpg -c /tmp/file > /tmp/file.gpg

ในการเข้ารหัสโฟลเดอร์คุณควรใช้ tar ร่วมกับ gpg:

tar zcvf - /tmp/directory | gpg -c > /tmp/directory.tar.gz.gpg

3
สำหรับคนอื่นที่อ่านข้อความนี้อย่างรวดเร็วและสับสนเล็กน้อยกับผลลัพธ์ .. ในวันที่ 14.04 gpg -c /tmp/file > /tmp/file.gpgไม่ได้คืนสิ่งที่ฉันคาดหวังแทนที่จะเขียนไฟล์เปล่า การใช้งานของฉันคือgpg -c /tmp/fileสิ่งที่เพิ่มส่วนขยาย. gpg ลงในไฟล์ผลลัพธ์โดยอัตโนมัติ
Phil

1

encfsตามคำแนะนำของเอกสารชุมชนทำงานได้ค่อนข้างดี

การติดตั้ง: ในการติดตั้งคุณต้องเพิ่มที่เก็บจักรวาลก่อน

จากนั้นออกคำสั่ง:

sudo apt install encfs

แล้วก็พิมพ์ลงในขั้ว: encfs encrypted visibleการสร้างโฟลเดอร์ในไดเรกทอรีปัจจุบันชื่อencryptedและvisibleและการตั้งค่ารหัสผ่าน

ตัวอย่างเช่นถ้าผมอยู่ใน (บ้าน) ไดเรกทอรีเริ่มต้น (การใช้งานpwdเพื่อดูว่าคุณมี) นี้จะสร้างโฟลเดอร์/home/ijoseph/visibleและสำหรับฉันตั้งแต่ชื่อผู้ใช้ของฉันคือ/home/ijoseph/encryptedijoseph

visibleสามารถเขียนและอ่านและจัดเก็บข้อมูลที่เข้ารหัสไว้ในencryptedโฟลเดอร์

"ซ่อน" fusermount -u visibleข้อมูลและออกเพียงรุ่นเข้ารหัสของโฟลเดอร์พิมพ์ของคุณ คุณจะต้องทำสิ่งนี้ก่อนออกจากระบบหรือย้ายแล็ปท็อปของคุณเพื่อป้องกัน คุณจะสังเกตเห็นทุกอย่างหายไปจากโฟลเดอร์เมื่อคุณพิมพ์visiblels

หากต้องการเมาต์อีกครั้ง (เข้าถึงvisibleโฟลเดอร์เพื่ออ่าน / เขียนencfs encrypted visibleอีกครั้ง) ให้รันอีกครั้ง


ขอบคุณสำหรับคำตอบนี้! หากฉันกล้าเสนอแนะคำตอบนี้จะได้รับการปรับปรุงโดยการเพิ่มขั้นตอนที่จำเป็นสำหรับผู้ใช้ใหม่ในการติดตั้งและใช้การเข้ารหัส
Elder Geek

2
ฉันหมายถึงผู้ใช้ใหม่กับ Ubuntu ที่ไม่มีประสบการณ์ ฉันขอโทษที่ขาดความชัดเจน! ดูเหมือนว่าคุณมีการใช้งานที่ครอบคลุมสวยดี แต่คนใหม่ที่จะ Ubuntu encfsอาจจะไม่ทราบวิธีการเข้าถึงพื้นที่เก็บข้อมูลจักรวาลและติดตั้ง ไชโย!
Elder Geek

2
สิ่งที่ ElderGeek พยายามที่จะพูดคือบางทีคุณอาจจะทำให้คำตอบของคุณเป็นมิตรกับคนอื่นได้มากขึ้น)
Sergiy Kolodyazhnyy

1
มันดีกว่า. ;-)
ผู้สูงอายุ Geek

1
เมื่อมีข้อสงสัยpackages.ubuntu.comมีข้อมูลมากมาย มันอยู่ในการโทรด่วนของฉัน ;-)
ผู้สูงอายุ Geek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.