How to configure synchronization and backup of SSH keys and TLS certificates between multiple workstations while complying with security requirements?

Answer

Secure storage and transfer of secret SSH keys and SSL certificates between developer devices is a complex task, as compromising these files grants attackers access to the entire infrastructure. Using regular cloud drives or messengers to transmit such files is strictly prohibited due to the risk of leakage.

The correct approach is to use password managers that support secure attachments, such as KeePassXC or Bitwarden, which encrypt all data using the robust AES-256 algorithm with a master password. SSH keys themselves are generated with mandatory passphrase protection, adding an extra line of defense even in the event of physical theft of files from the disk.

To automate the transfer and synchronization of SSH client configurations along with public keys, you can use version control systems combined with private repositories. However, private key files such as id_rsa or id_ed25519 must not be placed there; they are transferred manually via a secure channel or using physical media, such as a flash drive formatted with an encrypted file system.

A modern alternative to classic file-based keys is the use of hardware security tokens, such as YubiKey, which generate signature and authentication keys in hardware. In this case, the backup task comes down to securely storing the master recovery code of the token itself in a secure place, while all workstations are configured with the same access settings for the hardware device.

For TLS certificates on servers, the best practice is full automation of their issuance and renewal via the Certbot utility using the ACME protocol. This entirely eliminates the need for manual backups of certificate files, as they can be recreated in seconds from the domain configuration parameters.

Was this answer helpful?

More questions in this topic

Related questions from other topics