<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>pgp — LowEndSpirit</title>
        <link>https://lowendspirit.com/index.php?p=/</link>
        <pubDate>Fri, 05 Jun 2026 01:54:30 +0000</pubDate>
        <language>en</language>
            <description>pgp — LowEndSpirit</description>
    <atom:link href="https://lowendspirit.com/index.php?p=/discussions/tagged/pgp/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Proxmox offside encrypted backups with PGP on untrusted storage server</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/8648/proxmox-offside-encrypted-backups-with-pgp-on-untrusted-storage-server</link>
        <pubDate>Mon, 25 Nov 2024 06:40:41 +0000</pubDate>
        <category>Technical</category>
        <dc:creator>Neoon</dc:creator>
        <guid isPermaLink="false">8648@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I got a cheap storages boxes like 1TB NAT for 10$/y and I had to put it into use.<br />
However not fully trusting them with raw vm images, so PGP will do.</p>

<p>The backups are pgp encrypted before they are getting pulled by the storage server.<br />
The proxmox host has never any access to the backup server and the backup server never has any access to the vm images since they are encrypted.</p>

<p>Whatever gets compromised, your should still be safe, that's the idea.<br />
Downside is obviously, disk usage, for every backup we do in Proxmox, we have to do another encrypted copy and wait for the backup server to pull it before we can clear the disk space.</p>

<p>This can easily be done by using the Proxmox hooks, so you can configure your backup schedule like you normaly would do, only the STOREID has to match.<br />
The only thing you have to tweak is, the backup server when it has to pull the backups.</p>

<p><strong>1</strong>. Install the hook.</p>

<p>I do daily/weekly offside backups and keep them for 4 weeks.<br />
Example for weekly, script can be modded though.</p>

<p><a href="https://pastebin.com/raw/31jMWKTz" rel="nofollow">https://pastebin.com/raw/31jMWKTz</a><br />
Wouldn't format properly...</p>

<p>Put the script to /usr/local/bin/vzdump-hook.sh and make it executable.<br />
Don't forget to create the user "weekly" and the folder structure (/mnt/weekly/dump/ or whatever folder you want to use)<br />
You also should install and ssh key for the backup server to be able to login into the user "weekly".</p>

<p>In my case, Proxmox creates usuable backups to /mnt/weekly/dump and the encrypted ones are put to /home/weekly/backups for pulling.</p>

<p><strong>2</strong>. Edit /etc/vzdump.conf</p>

<p>Replace <br />
<code>#script: FILENAME</code> <br />
with <br />
<code>script: /usr/local/bin/vzdump-hook.sh</code></p>

<p><strong>3</strong>. Either generate or import a existing pgp key</p>

<p><code>gpg --gen-key</code></p>

<p>or</p>

<p><code>gpg --import mahkey</code></p>

<p>Make SURE you backup this key.</p>

<p><strong>4</strong>. Make a test backup and check if the encrypted backup is there.<br />
There should be zero errors in the proxmox backup log.</p>

<p>If you do, you might have to trust that pgp key.<br />
<code>gpg --edit-key mahkey</code> <br />
and type "trust"</p>

<p><strong>5</strong>. Setup a cronjob on the remote storage server</p>

<p><code>5 5  *   *   *     /home/weekly/backups.sh</code></p>

<p>You might have to adjust the time.<br />
rsync will do.</p>

<pre><code>#!/bin/bash
set -e
if pgrep -fl backup.sh &amp;&gt;/dev/null; then
        rsync -Pav -e "ssh -i weekly" weekly@mahserverip:/home/weekly/backups/* /home/weekly/backups/
        find /home/weekly/backups/* -mtime +30 -exec rm {} +
fi
</code></pre>

<p>Don't forgot to make it executable and do a testrun.</p>

<p><strong>6</strong>. Profit.</p>

<p>Thanks for reading my TED TALK.</p>
]]>
        </description>
    </item>
    <item>
        <title>[TOOL] KRYPTON - GPG Encrypted data network.</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6347/tool-krypton-gpg-encrypted-data-network</link>
        <pubDate>Sat, 19 Aug 2023 16:47:43 +0000</pubDate>
        <category>General</category>
        <dc:creator>xVPSx</dc:creator>
        <guid isPermaLink="false">6347@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Lets welcome our new little project. P.S.: Unencrypted data will never touch our server, you will be sending the encrypted data only.</p>

<p><img src="https://i.imgur.com/foDJf3D.gif" alt="" title="" /></p>

<p>GPG Encrypted data network.</p>

<p>Krypton (from Ancient Greek: κρυπτός, romanized: kryptos 'the hidden one').</p>

<p><strong>Download:</strong> <a href="https://krypton.monster/krypton.zip" rel="nofollow">https://krypton.monster/krypton.zip</a></p>

<p><strong>VirusTotal:</strong> <a href="https://www.virustotal.com/gui/url/7a12cd820fe15d8a4520038bde556cc78efdab3595f2270c71ff25bd15802de5/detection" rel="nofollow">https://www.virustotal.com/gui/url/7a12cd820fe15d8a4520038bde556cc78efdab3595f2270c71ff25bd15802de5/detection</a></p>

<p><strong>Requirements:</strong> gpg, gpg-agent, curl</p>

<p><strong>Usage:</strong> ./krypton "PRiVATE_KEY" "DATA_PASSWORD" "DATA"</p>

<p><strong>Mirror the data:</strong> wget -m -np -c -R "index.html*" "<a href="https://krypton.monster/data/" rel="nofollow">https://krypton.monster/data/</a>"</p>

<p><strong>Verify:</strong> Every submitted GPG data will end having filename as SHA256 hash.<br />
We use checksums, so you can always verify that the file was untouched - <a href="https://krypton.monster/data/0xF6FF5ADAB5180A3D10FFB611F2CADDD0A2B0922BDE398AD186E946480BEC3943/checksums" rel="nofollow">https://krypton.monster/data/0xF6FF5ADAB5180A3D10FFB611F2CADDD0A2B0922BDE398AD186E946480BEC3943/checksums</a>.</p>
]]>
        </description>
    </item>
   </channel>
</rss>
