<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Diego A. Carrasco Gubernatis | Personal Website (Posts about SQLite)</title><link>https://diegocarrasco.com/</link><description></description><atom:link href="https://diegocarrasco.com/categories/sqlite.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:hi@diegocarrasco.com"&gt;Diego Carrasco G.&lt;/a&gt; </copyright><lastBuildDate>Sat, 11 Apr 2026 08:03:46 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>How to recover and update Proxmox 8 firewall configuration in SQLite when you locked yourself out</title><link>https://diegocarrasco.com/regain-access-proxmox-firewall-misconfiguration/</link><dc:creator>Diego Carrasco G.</dc:creator><description>&lt;figure&gt;&lt;img src="https://diegocarrasco.com/images/social-images/regain-access-proxmox-firewall-misconfiguration.jpg"&gt;&lt;/figure&gt; &lt;h2 id="tldr"&gt;TLDR&lt;/h2&gt;
&lt;p&gt;The firewall config is not in &lt;code&gt;/etc/pve/firewall/cluster.fw&lt;/code&gt; but in a SQLite Database in &lt;code&gt;/var/lib/pve-cluster/config.db&lt;/code&gt;. You need to reboot your system into rescue mode, edit the value &lt;code&gt;enable: 1&lt;/code&gt; to &lt;code&gt;enable: 0&lt;/code&gt; and reboot into Proxmox.&lt;/p&gt;
&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;I made a noob mistake and locked myself out of my server. Luckily Hetzner allows me to reboot into rescue mode. This is what happened and how I managed to get my access back.&lt;/p&gt;
&lt;p&gt;In other words, this tutorial is for situations where you've accidentally locked yourself out of your Proxmox server due to a firewall misconfiguration (like I did). In my case, I enabled the firewall (&lt;code&gt;enable: 1&lt;/code&gt;) with an incorrect configuration, preventing access to the server. The solution involves booting into a rescue system, mounting the Proxmox partition, and manually editing the firewall configuration in the SQLite database.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Access to a rescue system (e.g., Hetzner Rescue System)&lt;/li&gt;
&lt;li&gt;Basic knowledge of Linux commands and SQLite, although you can copy and paste these commands and it should work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: I am not responsible for data loss or anything else for that matter. The following commands worked for me and nothing bad happened. I out them here in case they help someone else, as I had to research a few hour before solving this (specially the issue of not finding the config).&lt;/p&gt;
&lt;h3 id="step-1-boot-into-rescue-system"&gt;Step 1: Boot into Rescue System&lt;/h3&gt;
&lt;p&gt;Boot your server into the rescue system provided by your hosting provider (e.g., Hetzner Rescue System).&lt;/p&gt;
&lt;h3 id="step-2-identify-the-proxmox-partition"&gt;Step 2: Identify the Proxmox Partition&lt;/h3&gt;
&lt;p&gt;Use the &lt;code&gt;lsblk&lt;/code&gt; command to list all block devices:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;lsblk
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Identify the partition where Proxmox is installed. It's often part of a RAID array or LVM setup.&lt;/p&gt;
&lt;p&gt;In my case the output was like this:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;loop0&lt;span class="w"&gt;            &lt;/span&gt;&lt;span class="m"&gt;7&lt;/span&gt;:0&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;.1G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;loop&lt;span class="w"&gt;  &lt;/span&gt;
nvme1n1&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="m"&gt;259&lt;/span&gt;:0&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;476&lt;/span&gt;.9G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;disk&lt;span class="w"&gt;  &lt;/span&gt;
├─nvme1n1p1&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;259&lt;/span&gt;:1&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;256M&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;part&lt;span class="w"&gt;  &lt;/span&gt;
│&lt;span class="w"&gt; &lt;/span&gt;└─md0&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="m"&gt;9&lt;/span&gt;:0&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;.9M&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;raid1&lt;span class="w"&gt; &lt;/span&gt;
├─nvme1n1p2&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;259&lt;/span&gt;:2&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;1G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;part&lt;span class="w"&gt;  &lt;/span&gt;
│&lt;span class="w"&gt; &lt;/span&gt;└─md1&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="m"&gt;9&lt;/span&gt;:1&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;1022M&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;raid1&lt;span class="w"&gt; &lt;/span&gt;
└─nvme1n1p3&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;259&lt;/span&gt;:3&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;475&lt;/span&gt;.7G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;part&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;└─md2&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="m"&gt;9&lt;/span&gt;:2&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;475&lt;/span&gt;.6G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;raid1&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;├─vg0-root&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;253&lt;/span&gt;:0&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;64G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;lvm&lt;span class="w"&gt;   &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;├─vg0-swap&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;253&lt;/span&gt;:1&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;8G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;lvm&lt;span class="w"&gt;   &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;└─vg0-data&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;253&lt;/span&gt;:2&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;402G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;lvm&lt;span class="w"&gt;   &lt;/span&gt;
nvme0n1&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="m"&gt;259&lt;/span&gt;:4&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;476&lt;/span&gt;.9G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;disk&lt;span class="w"&gt;  &lt;/span&gt;
├─nvme0n1p1&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;259&lt;/span&gt;:5&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;256M&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;part&lt;span class="w"&gt;  &lt;/span&gt;
│&lt;span class="w"&gt; &lt;/span&gt;└─md0&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="m"&gt;9&lt;/span&gt;:0&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;.9M&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;raid1&lt;span class="w"&gt; &lt;/span&gt;
├─nvme0n1p2&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;259&lt;/span&gt;:6&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;1G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;part&lt;span class="w"&gt;  &lt;/span&gt;
│&lt;span class="w"&gt; &lt;/span&gt;└─md1&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="m"&gt;9&lt;/span&gt;:1&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;1022M&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;raid1&lt;span class="w"&gt; &lt;/span&gt;
└─nvme0n1p3&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;259&lt;/span&gt;:7&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;475&lt;/span&gt;.7G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;part&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;└─md2&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="m"&gt;9&lt;/span&gt;:2&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;475&lt;/span&gt;.6G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;raid1&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;├─vg0-root&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;253&lt;/span&gt;:0&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;    &lt;/span&gt;64G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;lvm&lt;span class="w"&gt;   &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;├─vg0-swap&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;253&lt;/span&gt;:1&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;8G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;lvm&lt;span class="w"&gt;   &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;└─vg0-data&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;253&lt;/span&gt;:2&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;402G&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;lvm
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;There I saw that I should mount &lt;code&gt;vg0&lt;/code&gt;, and that is was in a raid &lt;code&gt;md2&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="step-3-assemble-raid-array-if-applicable"&gt;Step 3: Assemble RAID Array (if applicable)&lt;/h3&gt;
&lt;p&gt;If your Proxmox partition is part of a RAID array, assemble it:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;mdadm&lt;span class="w"&gt; &lt;/span&gt;--assemble&lt;span class="w"&gt; &lt;/span&gt;--scan
&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="step-4-activate-volume-group"&gt;Step 4: Activate Volume Group&lt;/h3&gt;
&lt;p&gt;Activate the volume group (usually named &lt;code&gt;vg0&lt;/code&gt; in Proxmox):&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;vgchange&lt;span class="w"&gt; &lt;/span&gt;-ay&lt;span class="w"&gt; &lt;/span&gt;vg0
&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="step-5-mount-the-proxmox-partition"&gt;Step 5: Mount the Proxmox Partition&lt;/h3&gt;
&lt;p&gt;Create a mount point and mount the Proxmox root partition:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;mkdir&lt;span class="w"&gt; &lt;/span&gt;/mnt/proxmox
mount&lt;span class="w"&gt; &lt;/span&gt;/dev/vg0/root&lt;span class="w"&gt; &lt;/span&gt;/mnt/proxmox
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Verify the mount:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;ls&lt;span class="w"&gt; &lt;/span&gt;/mnt/proxmox/
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Here you should see some files and directories.&lt;/p&gt;
&lt;h3 id="step-6-locate-the-configuration-database"&gt;Step 6: Locate the Configuration Database&lt;/h3&gt;
&lt;p&gt;The Proxmox configuration is stored in an SQLite database. Locate it:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;ls&lt;span class="w"&gt; &lt;/span&gt;-la&lt;span class="w"&gt; &lt;/span&gt;/mnt/proxmox/var/lib/pve-cluster
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;You should see a file named &lt;code&gt;config.db&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="step-7-access-the-sqlite-database"&gt;Step 7: Access the SQLite Database&lt;/h3&gt;
&lt;p&gt;Open the SQLite database:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;sqlite3&lt;span class="w"&gt; &lt;/span&gt;/mnt/proxmox/var/lib/pve-cluster/config.db
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;code&gt;sqlite3&lt;/code&gt; is already installed in the rescue system of Hetzner. You need to install it if it's not available in your system.&lt;/p&gt;
&lt;h3 id="step-8-check-the-current-firewall-configuration"&gt;Step 8: Check the Current Firewall Configuration&lt;/h3&gt;
&lt;p&gt;View the current firewall configuration:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'cluster.fw'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Initially I didn't know where this was, so I used the following to find where the entry was and if there was any.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'cluster.fw'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="step-9-update-the-enable-option"&gt;Step 9: Update the &lt;code&gt;enable&lt;/code&gt; Option&lt;/h3&gt;
&lt;p&gt;Change the &lt;code&gt;enable&lt;/code&gt; option from &lt;code&gt;1&lt;/code&gt; to &lt;code&gt;0&lt;/code&gt; to disable the firewall:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="k"&gt;UPDATE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="k"&gt;SET&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'enable: 1'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'enable: 0'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'cluster.fw'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="step-10-verify-the-change"&gt;Step 10: Verify the Change&lt;/h3&gt;
&lt;p&gt;Confirm that the change was made successfully:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'cluster.fw'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="step-11-exit-sqlite"&gt;Step 11: Exit SQLite&lt;/h3&gt;
&lt;p&gt;Exit the SQLite prompt:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;quit&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="step-12-unmount-and-reboot"&gt;Step 12: Unmount and Reboot&lt;/h3&gt;
&lt;p&gt;Unmount the Proxmox partition and reboot the server:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;umount&lt;span class="w"&gt; &lt;/span&gt;/mnt/proxmox
reboot
&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="important-notes"&gt;Important Notes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Disabling the Firewall:&lt;/strong&gt; This process disables the firewall cluster-wide. Re-enable it after properly configuring it once you regain access.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security Risks:&lt;/strong&gt; A disabled firewall may expose your system to security risks. You have been warned.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backup:&lt;/strong&gt; Always create backups before making significant changes. I have my proxmox configs in a git repository for reference.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alternative Methods:&lt;/strong&gt; When possible, use the Proxmox web interface or CLI tools for configuration changes. At least that's what I've read. I like to use config files, but I also locked myself out of my server. &lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="references"&gt;References&lt;/h2&gt;
&lt;p&gt;Several sites, but I cannot longer remember all of them.&lt;/p&gt;
&lt;p&gt;Some of the sites I visited are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;https://forum.proxmox.com/threads/ssh-connection-no-web-interface.110702/&lt;/li&gt;
&lt;li&gt;https://www.reddit.com/r/Proxmox/comments/13hyn0y/how_to_secure_proxmox_web_ui/&lt;/li&gt;
&lt;li&gt;https://eulenfunk.readthedocs.io/en/stable/supernode01.html&lt;/li&gt;
&lt;li&gt;and many more ...&lt;/li&gt;
&lt;/ul&gt;</description><category>Firewall</category><category>linux</category><category>LVM</category><category>Proxmox</category><category>RAID</category><category>Rescue System</category><category>SQLite</category><guid>regain-access-proxmox-firewall-misconfiguration</guid><pubDate>Fri, 27 Sep 2024 07:00:00 GMT</pubDate></item></channel></rss>