I'm in desparate need of setting up borgmatic for borg backup. I would like to encrypt my backups. (I suppose, an unencrypted backup is better than none in my case, so I should get it done today regardless.)
How do I save those keys? Is there a directory structure I follow? Do you backup the keys as well? Are there keys that I need to write down by hand? Should I use a cloud service like bitwarden secrets manager? Could I host something?
Im ignorant on this matter. The most I've done is add ssh keys to git forges and use ssh-copyid. But I've always been able to access what I need to without keeping those (I login to the web interface.) Can you share with me best practices or what you do to manage non-password secrets?
There are many ways to go about this. Files like those keyfiles and encryption headers are extra sensitive because (a) they potentially provide access to everything and (b) losing them can block access to everything. Personally, I keep those types of files unencrypted in a directory that stays 100% offline (encrypted backups to external disks only). But there's no reason not to back those files up to an encrypted online repository (where you trust the encryption). Just make sure that's not your only backup of those files for obvious reasons.
A good practice to avoid painting yourself in a corner is to test your backups: Switch off your PC / server, put your mobile devices in a drawer (pretend they're gone), borrow / wipe a cheap laptop. How do you access your backup files using just that laptop?
But if your encryption keys to your offsite backup are on-site only, doesn't that make your offsite backup worthless in the case where "offsite" is important?
If your house burns down, you don't have your encryption keys to your only backup.
Good catch... and that's why I keep up-to-date encrypted offline backups in two locations (home and office) always. That should be enough really, but I've been thinking about swapping one of those drives with a third backup at one of my relatives' house from time to time, just to make irrecoverable failure even less likely.