49 lines
1.8 KiB
Markdown
49 lines
1.8 KiB
Markdown
# Guix SOPS -salaisuuksienhallinta
|
|
|
|
<https://github.com/fishinthecalculator/sops-guix>
|
|
|
|
## 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) <root@LAITE>' 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.
|