# Guix SOPS -salaisuuksienhallinta ## Uuden laitteen lisääminen Jokaiselle salaisuuksia tarvitsevalle laitteelle luodaan oma PGP-salausavain seuraavan kaltaisella komennolla. Olennaista on, että avaimella ei ole salasanaa eikä se vanhene. ``` gpg --batch --passphrase '' --quick-generate-key \ '(SOPS Guix -salauksen purkamiseen) ' default default never ``` Tämän avaimen yksityinen osa tallennetaan salattuna kaikille ylläpitäjille hakemistoon `host-decryption-keys` käyttämällä apuna `./encrypt-private-key.sh` komentokyhäelmää. Kyhäelmä hakee ylläpitäjien julkiset salausavaimet hakemistosta `./admin-encryption-keys`. ``` gpg --export-secret-keys root@LAITE | ./encrypt-private-key.sh > host-decryption-keys/LAITE.key.gpg ``` Lisäksi yksityinen avain viedään laitteen `root`-käyttäjän avainrenkaaseen. ``` gpg --decrypt < host-decryption-keys/LAITE.key.gpg | ssh root@LAITE 'gpg --import' ``` Avaimen tunniste lisätään salaisuuksienhallinan ohjaustiedostoon `sops.yaml` omalle rivilleen kohtaan `keys`. Tunnisteen saa näkyviin ajamalla komennon `gpg --list-keys root@LAITE`. Kun kaikki ylläolevista on tehty, laitteelle voi asentaa salaisuuksia. ## Uuden ylläpitäjän lisääminen Ylläpitäjä tarvitsee oman PGP-salausavaimensa, jonka voi luoda esimerkiksi GnuPG:llä komennolla `gpg --generate-key`. Avaimen julkinen eli salauspuoli tallennetaan hakemistoon `./admin-encryption-keys` muita ylläpitäjiä varten. ``` gpg --armor --export AVAIN > admin-encryption-keys/YLLÄPITÄJÄ.pub ``` Lisäksi avaimen tunniste pitää lisätä `sops.yaml`-tiedostoon. Jonkun aiemman ylläpitäjän pitää lisätä uusi tiedostojen salausryhmiin ja salata tiedostot uudelleen ennen kuin ne ovat hänen luettavissaan.