In this article, we’ll explain how to encrypt file in Ubuntu with GPG.
“GPG” or “GNU Privacy Guard” allows you to securely encrypt files and data with a strong encryption algorithm. GPG is an excellent method to ensure secure communication between two parties. It allows sensitive information to be easily shared across an insecure network.
- An Ubuntu installed desktop, dedicated server or KVM VPS.
- A root user access or normal user with administrative privileges to install GPG.
Encrypt File in Ubuntu with GPG
Install GPG in Ubuntu
We can install GPG using following command:
# apt install gpg
Encrypt file using GPG
Following command will encrypt test.txt.
# gpg -c test.txt
Once you run the above command, you will ask to enter a passphrase that will be used for encrypting and decrypting the file.
After you enter passphrase, file gets encrypted and one file gets create in the following format:
To decrypt the file, run a command in the following format:
# gpg test.txt.gpg
Use the passphrase you initially used to encrypt the file. Once decrypted, you will get back a “test.txt” file.
Generate a GPG key pair
You can use a pair of “public” and “private” keys to encrypt and decrypt files. To generate a GPG key pair, you can use the command below:
# gpg --generate-key
Follow the instructions and enter a username and password when prompted. After generating the key pair, GPG will show the generated public key in terminal output.
To export public key to a file, run the following command:
# gpg --armor --export --output "public_key"
Replace “public_key” with your own public key generated in the step above. Your generated private keys will be available in “$HOME/.gnupg/” directory.
Encrypt a file using public key of someone else, use the following command:
# gpg --encrypt --recipient-file public_key.file test.txt
Note: Replace public_key.file with public key of the person you want to send the file.
Decrypt a file that was encrypted using your public key, use the following command:
# gpg --decrypt --output test.txt test.txt.gpg
GPG will automatically detect your private keys during decryption as long as they are stored in the “$HOME/.gnupg/” directory.
Learn more about GPG cheatsheet.
In this article, we have seen how to encrypt file in Ubuntu with GPG.