> For the complete documentation index, see [llms.txt](https://thorstenkramm.gitbook.io/saltstack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://thorstenkramm.gitbook.io/saltstack/pillars/gpg.md).

# GPG

verschlüsselte Pillars

### Vorbereitungen

```
apt install gpg rng-tools
mkdir -p /etc/salt/gpgkeys
chmod 0700 /etc/salt/gpgkeys
gpg --gen-key --homedir /etc/salt/gpgkeys
```

![Initiale Schlüsselgenerierung](https://3666581685-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LFRZJPZX11pwB1staCp%2F-Lb2d3pR-dEFIlYteeNU%2F-Lb2pOBTU5OmZYlof-qB%2Fimage.png?alt=media\&token=8a16399a-5881-4562-8882-12687f9cad59)

{% hint style="warning" %}
Schützen Sie den Schlüssel **nicht** mit einem Passwort.
{% endhint %}

Exportieren Sie den öffentlichen Schlüssel, welchen Sie später zur Verschlüsselung von Texten verwenden. Geben Sie dabei den Schlüsselnamen – im Beispiel `salt-master` – so an, wie Sie diesen bei der Erzeugung der Schlüssel ausgewählt haben.

```
gpg --homedir /etc/salt/gpgkeys --armor --export salt-master \
> /etc/salt/gpgkeys/exported_pubkey.gpg
```

Die Datei `exported_pubkey.gpg` kann gefahrlos verteilt werden. Diese Datei ermöglicht es, Texte zu verschlüsseln, aber nicht diese zu entschlüsseln.

### Text verschlüsseln und als Pillar verwenden

Laden Sie den Schlüssel mit `gpg --import /etc/salt/gpgkeys/exported_pubkey.gpg` und verschlüsseln Sie einen beliebigen Text. Die verschlüsselte Botschaft wird auf der Konsole ausgeben, von dort übernehmen Sie diese per Copy-and-paste in eine Pillar sls-Datei.

```
echo -n "Rumpelstilzchen"| gpg --armor \
   --batch --trust-model always \
   --encrypt -r salt-master
-----BEGIN PGP MESSAGE-----

hQGMA+Dlwp1CzlPfAQv/ZbwyXVpQm2Y8SZly3SlcUdRbK9LJXkKqs/feQZjz46qb
PUT0I41JO2p5j3h5SWhZTvR5BaIWjPYypVK/334JJUmG+u42CUzPEOpyvZQNXCgx
kCnNj/9BQKWqoCGKc6VXQ66OZu/z/Y+yVrEndPo1JPN85GQD2GAY1M6xxpxaEsHF
TUnd57b3ymG8RZQvf0m3z/DTp6loXi83lYTzzvvVONPaxmVlePcotT0aX0eqRkIQ
ihQlGKI5YR44PTxqHPUc1XlwB+Feu5Q61UFli95SPHgsjgcw4ga4YqVciQ/aOEGT
//MkT2X408PwiQrw0E5wENieZKoj9TUuox90VW1TId6wlCdoGtQDutjVn8EQJYvV
6Lg4JNKm91n+gq1iBW1sjzPodwXHD0n7s2V2yFuMI7S1F7KUEfYm9xLKbt2aCNyP
he1y3ceKL1SqRUlFGwXKmOJJQnLvMhGeNnr/ovf2WD31ESk29kyw3YQJkH1XfhWr
Q1YDHQTtU9MfDbYApWb+0ksBwC42LWf8pgq+qtk3Q/KMtq7Q7ozWNuSW2+4dLBj8
BWAGBypUgiwaoAK04sePf/XHps968WLg3bvYT2CKsa1JynUt2I5WBFRoo5A=
=Z3bH
-----END PGP MESSAGE-----
```

{% code title="/srv/pillar/encrypted.sls" %}

```
#!yaml|gpg
geheim: |
  -----BEGIN PGP MESSAGE-----

  hQGMA+Dlwp1CzlPfAQv+PovZKp2Vnh8B48Qf0FA/59YeoNgDSXsnga2LyDFN5Zfo
  CZUq7G1jc2kVOMurmlR8vgxXusPWA6CYG5k+CpDw3a4VIRYoNUM8/YfOV5mQlI4X
  CCT68bBLwLwqjeiFjz4G3tKUs82byZ0Kx+yhWF0rnWLeY4W8F8gzOFL2Gx/XQBfY
  /EYww9Rd3H9EBT9UIbaihy1dzUTpTCMu7lLZdlCKRyn1IQiPRN3pN3detRRY2+SD
  po1eoYY4JdFTVm5DXv6Yg8SOdplC4qDGaTpCj3OPSQaFznpywT7Fk+sF7ZyabbNT
  uy8bGPappueRG3hSWDUSGBgCmf6zMZXDAgLcGF6c4QjZIDnpgknFX4/PTmaQJBv6
  oHosp5iSiy3KAIIqSP2ePQbUAIVfrgjHoxxN01rew9YPpeh0aH22HaM9FxQ8KJRS
  y/BS1FfwtdQaymSblqMzIrRqZ5VKsQv2XrkaTxS/IoXZd8YZmc2t2eAwbKJh2Rl4
  WWmXO/Nrnkz8JDhTDo150kYBof+E1awiwTisStG8znLCBSD14zcq+horB2eOpCbj
  xrbS2K6Rxz89jb/auXgfXA8D+flxh+QPNdCpRvGh6PwfcG8RBaVG
  =lu8Z
  -----END PGP MESSAGE-----
```

{% endcode %}

{% hint style="info" %}
Achten Sie auf die erste Zeile, welche dem Salt-Master angibt, dass es sich um einen verschlüsselte Pillar handelt.&#x20;
{% endhint %}

Binden Sie nun das verschlüsselte Pillar wir gewohnt über die Datei `/srv/pillar.top.sls` ein und greifen Sie darauf zu. Der Salt-Master erledigt die Entschlüsselung im Hintergrund.

```
salt salt-master pillar.items
```
