Tech Tip: Encrypt Files with GPG
Encrypting files from the command line is simple with gpg. You can use it to encrypt and decrypt files with a password.
The command gpg is part of GnuPG. GnuPG stands for GNU Privacy Guard and is GNU's tool for secure communication and data storage. It can be used to encrypt data and to create digital signatures. It also includes an advanced key management facility. GnuPG works on Linux and UNIX like operating systems as well as for Windows and Mac OS X.
To encrypt a single file, use the -c command line option with gpg. For example, to encrypt the file myfinancial.info, use the command:
$ gpg -c myfinancial.info Enter passphrase: YOUR-PASSWORD Repeat passphrase: YOUR-PASSWORD
This will create the file myfinancial.info.gpg. Note that the original file is not deleted, so once you feel safe encrypting and decrypting files, you probably want to delete your unencrypted versions of the files. Also note that depending on your system's configuration, gpg may ask for passphrases in pop-up windows rather than at the command line.
The -c option tells gpg to encrypt with a symmetric cipher. Caution: don't forget your passphrase (password), there is no way to recover data with out the passphrase.
To decrypt the file, use the command:
$ gpg myfinancial.info.gpg gpg: CAST5 encrypted data Enter passphrase: YOUR-PASSWORD
If you want to write the output to a different file, use the -o command line option:
$ gpg –o myfin.info.txt myfinancial.info.gpg
If you'd rather have a "text" file, rather than a binary file, use the -a option to gpg:
$ gpg -c -a myfinancial.info Enter passphrase: YOUR-PASSWORD Repeat passphrase: YOUR-PASSWORD
This will create the file myfinancial.info.asc rather than myfinancial.info.gpg.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- Hash Tables—Theory and Practice
- The Ubuntu Conspiracy
- Making a PHP Site on Linux Work with a Microsoft SQL Server Database
- A First Look at IBM's New Linux Servers
- Vigilante Malware
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- Vagrant Simplified
- System Status as SMS Text Messages
- Dealing with Boundary Issues
- Bluetooth Hacks