Skip to content

Instantly share code, notes, and snippets.

@svinther
Last active March 17, 2024 05:27
Show Gist options
  • Save svinther/57003a5a3f643ddfce4b6aa126455e7d to your computer and use it in GitHub Desktop.
Save svinther/57003a5a3f643ddfce4b6aa126455e7d to your computer and use it in GitHub Desktop.
Linux commands

Pack and Encrypt - this creates vault.tar and vault.tar.asc from vault directory

tar cf vault.tar vault
gpg --armor --symmetric --cipher-algo AES256 vault.tar

Decrypt and unpack - creates vault.tar and vault directory

gpg -o vault.tar --decrypt vault.tar.asc
tar xf vault.tar 

gpg list keys with both id formats

gpg --list-secret-keys --keyid-format long

backup keys

gpg --export-secret-keys -a > ${VAULTDIR}/secret-keys.gpg
gpg --export -a > ${VAULTDIR}/keys.gpg
gpg --export-ownertrust > ${VAULTDIR}/gpg.trustdb

restore keys

gpg --import ${VAULTDIR}/secret-keys.gpg 
gpg --import-ownertrust ${VAULTDIR}/gpg.trustdb 

gpg public keys

pass show gpg-public-keys

Setup ssh agent

see https://gist.github.com/mcattarinussi/834fc4b641ff4572018d0c665e5a94d3

echo enable-ssh-support >> $HOME/.gnupg/gpg-agent.conf

unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then   export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"; fi
export GPG_TTY=$(tty)
gpg-connect-agent updatestartuptty /bye >/dev/null

gpg --list-keys --with-keygrip
echo xxx >> .gnupg/sshcontrol
ssh-add -l
ssh git@github.com

Export public ssh key

gpg --export-ssh-key <user-id>

Setup USB

sudo parted /dev/sdc mklabel msdos

sudo parted --a optimal /dev/sdc mkpart primary '0%' 2GB
sudo cryptsetup luksFormat /dev/sdc1
sudo cryptsetup luksOpen /dev/sdc1 usbvault
sudo mkfs -t ext4 -V /dev/mapper/usbvault
sudo cryptsetup luksClose usbvault

sudo parted --a optimal /dev/sdc mkpart primary 2GB 12GB
sudo mkfs.ext4 /dev/sdc2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment