{"id":289,"date":"2026-09-28T08:02:53","date_gmt":"2026-09-28T15:02:53","guid":{"rendered":"https:\/\/hostandtech.com\/kb\/?p=289"},"modified":"2026-09-28T08:02:53","modified_gmt":"2026-09-28T15:02:53","slug":"install-configure-fail2ban-ubuntu","status":"publish","type":"post","link":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/","title":{"rendered":"How to Install and Configure Fail2Ban on Ubuntu (SSH, Nginx and WordPress Jails)"},"content":{"rendered":"<h2>Overview<\/h2>\n<p>To set up Fail2Ban on Ubuntu, install it with <code class=\"\" data-line=\"\">apt<\/code>, put your settings in <code class=\"\" data-line=\"\">\/etc\/fail2ban\/jail.local<\/code> (never in <code class=\"\" data-line=\"\">jail.conf<\/code>), enable the <code class=\"\" data-line=\"\">sshd<\/code> jail, add your own IP to <code class=\"\" data-line=\"\">ignoreip<\/code>, and restart the service. Fail2Ban then watches your logs and blocks any IP that fails to log in too many times in a short window. A basic SSH setup takes about ten minutes.<\/p>\n<p>This guide is for anyone running their own Ubuntu 22.04 or 24.04 VPS or dedicated server. You&#8217;ll end up with SSH protection, optional jails for Nginx and WordPress logins, a longer ban for repeat offenders, and the commands to check, test and undo bans. If you haven&#8217;t hardened the server yet, start with <a href=\"https:\/\/hostandtech.com\/kb\/security\/how-to-secure-your-linux-server\/\">how to secure your Linux server<\/a>; Fail2Ban is one layer, not the whole job.<\/p>\n<p><strong>Note:<\/strong> on cPanel servers, use cPHulk (built into WHM) instead of Fail2Ban for login protection, and on Plesk use the built-in <strong>IP Address Banning (Fail2Ban)<\/strong> screen under <strong>Tools &amp; Settings<\/strong>. This guide is for servers you manage without a control panel.<\/p>\n<h2>Prerequisites<\/h2>\n<ul>\n<li>Ubuntu 22.04 or 24.04 with <code class=\"\" data-line=\"\">sudo<\/code> access.<\/li>\n<li>A firewall already set up. See <a href=\"https:\/\/hostandtech.com\/kb\/linux\/how-to-configure-ufw-firewall-ubuntu\/\">how to configure UFW on Ubuntu<\/a>.<\/li>\n<li>Your own public IP address (search &#8220;what is my IP&#8221;), so you can exclude it from bans.<\/li>\n<li>Access to your provider&#8217;s web console, in case you ban yourself while testing.<\/li>\n<\/ul>\n<h2>Step-by-Step: Install and Configure Fail2Ban on Ubuntu<\/h2>\n<h3>Step 1: Install Fail2Ban<\/h3>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-1\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-1'><code class=\"\" data-line=\"\">sudo apt update\nsudo apt install fail2ban -y\nfail2ban-client --version<\/code><\/pre>\n<\/div>\n<p>On Ubuntu 24.04, check you have the fixed package. The original 24.04 release of Fail2Ban did not start at all because of a Python 3.12 change; version <code class=\"\" data-line=\"\">1.0.2-3ubuntu0.1<\/code> or later fixes it:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-2\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-2'><code class=\"\" data-line=\"\">apt policy fail2ban<\/code><\/pre>\n<\/div>\n<h3>Step 2: Create jail.local<\/h3>\n<p>Package updates overwrite <code class=\"\" data-line=\"\">jail.conf<\/code>, so your settings go in <code class=\"\" data-line=\"\">jail.local<\/code>, which overrides it. Create the file:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-3\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-3'><code class=\"\" data-line=\"\">sudo nano \/etc\/fail2ban\/jail.local<\/code><\/pre>\n<\/div>\n<p>Paste this, replacing <code class=\"\" data-line=\"\">203.0.113.50<\/code> with your own IP:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-4\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-4'><code class=\"\" data-line=\"\">[DEFAULT]\n# Never ban these (localhost + your office\/home IP)\nignoreip = 127.0.0.1\/8 ::1 203.0.113.50\nbantime  = 1h\nfindtime = 10m\nmaxretry = 5\n# Use UFW to apply bans (remove this line if you don&#039;t use UFW)\nbanaction = ufw\n\n[sshd]\nenabled = true\nport    = ssh\n\n[recidive]\nenabled  = true\nbantime  = 1w\nfindtime = 1d\nmaxretry = 3<\/code><\/pre>\n<\/div>\n<p>The <code class=\"\" data-line=\"\">recidive<\/code> jail is the one most guides leave out. It reads Fail2Ban&#8217;s own log and bans an IP for a week if it has been banned three times in a day, which stops the bots that simply wait out a one-hour ban and come back. If you moved SSH to another port, set <code class=\"\" data-line=\"\">port = 2222<\/code> (your port) in the <code class=\"\" data-line=\"\">[sshd]<\/code> section, or the ban blocks the wrong port and does nothing.<\/p>\n<h3>Step 3: Add jails for Nginx and WordPress logins (optional)<\/h3>\n<p>Fail2Ban ships filters for common web servers. Add these to <code class=\"\" data-line=\"\">jail.local<\/code> if you run Nginx with password-protected areas or get bot scans:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-5\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-5'><code class=\"\" data-line=\"\">[nginx-http-auth]\nenabled = true\n\n[nginx-botsearch]\nenabled = true<\/code><\/pre>\n<\/div>\n<p>For WordPress, there&#8217;s no built-in filter, so create one that counts login and XML-RPC attempts in the Nginx access log:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-6\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-6'><code class=\"\" data-line=\"\">sudo nano \/etc\/fail2ban\/filter.d\/wordpress-login.conf<\/code><\/pre>\n<\/div>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-7\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-7'><code class=\"\" data-line=\"\">[Definition]\nfailregex = ^&lt;HOST&gt; .* &quot;POST \/wp-login&#092;.php\n            ^&lt;HOST&gt; .* &quot;POST \/xmlrpc&#092;.php\nignoreregex =<\/code><\/pre>\n<\/div>\n<p>Then add the jail to <code class=\"\" data-line=\"\">jail.local<\/code>:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-8\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-8'><code class=\"\" data-line=\"\">[wordpress-login]\nenabled  = true\nport     = http,https\nfilter   = wordpress-login\nlogpath  = \/var\/log\/nginx\/access.log\nmaxretry = 6\nfindtime = 10m<\/code><\/pre>\n<\/div>\n<p>This counts every login POST, successful or not, so keep <code class=\"\" data-line=\"\">maxretry<\/code> a little above what a real person would ever do. For Apache, change <code class=\"\" data-line=\"\">logpath<\/code> to <code class=\"\" data-line=\"\">\/var\/log\/apache2\/access.log<\/code>.<\/p>\n<h3>Step 4: Test the configuration and start Fail2Ban<\/h3>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-9\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-9'><code class=\"\" data-line=\"\">sudo fail2ban-client -t\nsudo systemctl enable --now fail2ban\nsudo systemctl restart fail2ban<\/code><\/pre>\n<\/div>\n<p><code class=\"\" data-line=\"\">fail2ban-client -t<\/code> checks every jail and filter and reports the exact line with a problem, which is much easier than reading a failed service log.<\/p>\n<h3>Step 5: Check that the jails are running<\/h3>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-10\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-10'><code class=\"\" data-line=\"\">sudo fail2ban-client status\nsudo fail2ban-client status sshd<\/code><\/pre>\n<\/div>\n<p>The second command shows the number of failed attempts seen, the number currently banned and the banned IP list. On a public server, SSH usually shows failures within minutes of going online.<\/p>\n<p>To prove a custom filter matches your log before relying on it:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-11\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-11'><code class=\"\" data-line=\"\">sudo fail2ban-regex \/var\/log\/nginx\/access.log \/etc\/fail2ban\/filter.d\/wordpress-login.conf<\/code><\/pre>\n<\/div>\n<p>Look for <code class=\"\" data-line=\"\">Lines: ... matched<\/code> with a number above zero.<\/p>\n<h3>Step 6: Unban an IP<\/h3>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-12\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-12'><code class=\"\" data-line=\"\">sudo fail2ban-client set sshd unbanip 198.51.100.7\n# or remove it from every jail at once\nsudo fail2ban-client unban 198.51.100.7<\/code><\/pre>\n<\/div>\n<p>If you banned yourself and SSH no longer answers, log in through your provider&#8217;s web console and run the second command, then add your IP to <code class=\"\" data-line=\"\">ignoreip<\/code>.<\/p>\n<h2>Common Issues &amp; Troubleshooting<\/h2>\n<h3>ERROR No module named &#8216;asynchat&#8217;<\/h3>\n<p><strong>Cause:<\/strong> the original Fail2Ban package in Ubuntu 24.04 wasn&#8217;t compatible with Python 3.12, so the service fails to start.<\/p>\n<p><strong>Fix:<\/strong> run <code class=\"\" data-line=\"\">sudo apt update &amp;&amp; sudo apt install --only-upgrade fail2ban<\/code> to get <code class=\"\" data-line=\"\">1.0.2-3ubuntu0.1<\/code> or newer, then restart the service.<\/p>\n<h3>ERROR Failed during configuration: Have not found any log file for sshd jail<\/h3>\n<p><strong>Cause:<\/strong> Fail2Ban is looking for <code class=\"\" data-line=\"\">\/var\/log\/auth.log<\/code>, but on this server SSH logs only go to the systemd journal (common on minimal images without rsyslog).<\/p>\n<p><strong>Fix:<\/strong> add <code class=\"\" data-line=\"\">backend = systemd<\/code> under <code class=\"\" data-line=\"\">[sshd]<\/code> in <code class=\"\" data-line=\"\">jail.local<\/code>, make sure <code class=\"\" data-line=\"\">python3-systemd<\/code> is installed, then run <code class=\"\" data-line=\"\">fail2ban-client -t<\/code> again.<\/p>\n<h3>Fail2Ban shows failed attempts but never bans anyone<\/h3>\n<p><strong>Cause:<\/strong> usually the attacker&#8217;s IP is covered by <code class=\"\" data-line=\"\">ignoreip<\/code>, the jail&#8217;s <code class=\"\" data-line=\"\">port<\/code> doesn&#8217;t match the real port, or the site sits behind a CDN or proxy so every request comes from the proxy&#8217;s IP.<\/p>\n<p><strong>Fix:<\/strong> check <code class=\"\" data-line=\"\">ignoreip<\/code> and <code class=\"\" data-line=\"\">port<\/code>. Behind a proxy, configure the web server to log the real visitor IP first; otherwise Fail2Ban would ban the proxy and take the whole site offline for everyone.<\/p>\n<h3>WARNING &#8216;allowipv6&#8217; not defined in &#8216;Definition&#8217;<\/h3>\n<p><strong>Cause:<\/strong> a notice from newer Fail2Ban versions when an action file doesn&#8217;t state whether it handles IPv6. It shows in <code class=\"\" data-line=\"\">systemctl status fail2ban<\/code> and looks like an error.<\/p>\n<p><strong>Fix:<\/strong> nothing is broken and bans still work. To silence it, add <code class=\"\" data-line=\"\">allowipv6 = auto<\/code> under a <code class=\"\" data-line=\"\">[Definition]<\/code> section in <code class=\"\" data-line=\"\">\/etc\/fail2ban\/fail2ban.local<\/code> and restart the service.<\/p>\n<p>Setting up a new server? A <a href=\"https:\/\/hostandtech.com\/vps-ssd-servers\">Host &amp; Tech VPS<\/a> or <a href=\"https:\/\/hostandtech.com\/cheap-dedicated-hosting-server\">dedicated server<\/a> comes with root access, so you can apply this guide from the first login. For flood-style attacks rather than password guessing, see <a href=\"https:\/\/hostandtech.com\/kb\/security\/preventing-ddos-attacks-on-your-server\/\">preventing DDoS attacks<\/a>, and switching SSH to <a href=\"https:\/\/hostandtech.com\/kb\/linux\/how-to-set-up-ssh-keys-linux\/\">key-only logins<\/a> removes most of the risk Fail2Ban is guarding against.<\/p>\n<div class=\"ht-faq-section\">\n<h2>Frequently Asked Questions<\/h2>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Do I need Fail2Ban if I already have a firewall?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>Yes, they do different jobs. A firewall like UFW decides which ports are open to everyone, while Fail2Ban watches logs and blocks individual IPs that misbehave on the ports you left open, such as SSH or a login page. Fail2Ban uses the firewall to apply its bans.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">How long does Fail2Ban ban an IP for?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>The default is 10 minutes, which is too short to deter bots. This guide sets one hour for normal jails and one week for repeat offenders through the recidive jail. You can set bantime = -1 for a permanent ban, but permanent bans pile up and are easier to manage in the firewall.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Should I use Fail2Ban on a cPanel server?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>No. cPanel includes cPHulk for login brute-force protection, and servers usually also run a firewall such as CSF or Imunify360. Running Fail2Ban on top of those can cause conflicting firewall rules. On Plesk, use the built-in IP Address Banning feature, which is Fail2Ban managed from the panel.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">How do I see which IPs Fail2Ban has banned?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>Run sudo fail2ban-client status followed by the jail name, for example sshd. It lists the banned IPs and counts for that jail. The full history is in \/var\/log\/fail2ban.log.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Does Fail2Ban work with IPv6?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>Yes. Fail2Ban has supported IPv6 since version 0.10, and Ubuntu 22.04 and 24.04 ship versions newer than that. Add your own IPv6 address to ignoreip as well if you connect over IPv6.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Set up Fail2Ban on an Ubuntu VPS the right way: a jail.local that survives updates, jails for SSH, Nginx and WordPress logins, a repeat-offender jail, how to test filters, unban yourself, and fix the errors that stop it starting.<\/p>\n","protected":false},"author":1,"featured_media":284,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[73],"tags":[221,21,20,14,15],"class_list":["post-289","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","tag-fail2ban","tag-linux-security","tag-server-hardening","tag-ssh","tag-ubuntu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Install and Configure Fail2Ban on Ubuntu<\/title>\n<meta name=\"description\" content=\"Install and configure Fail2Ban on Ubuntu 22.04 and 24.04: a safe jail.local, SSH, Nginx and WordPress jails, testing, unbanning and common errors.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Install and Configure Fail2Ban on Ubuntu\" \/>\n<meta property=\"og:description\" content=\"Install and configure Fail2Ban on Ubuntu 22.04 and 24.04: a safe jail.local, SSH, Nginx and WordPress jails, testing, unbanning and common errors.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/\" \/>\n<meta property=\"og:site_name\" content=\"Host And Tech knowledge base\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/stshostandtech\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-28T15:02:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/install-configure-fail2ban-ubuntu.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@stshostandtech\" \/>\n<meta name=\"twitter:site\" content=\"@stshostandtech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/person\\\/b6fa79c48ddaba71af32e395c5b017ee\"},\"headline\":\"How to Install and Configure Fail2Ban on Ubuntu (SSH, Nginx and WordPress Jails)\",\"datePublished\":\"2026-09-28T15:02:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/\"},\"wordCount\":1135,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/install-configure-fail2ban-ubuntu.webp\",\"keywords\":[\"fail2ban\",\"Linux security\",\"server hardening\",\"SSH\",\"Ubuntu\"],\"articleSection\":[\"Server Security\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/\",\"name\":\"How to Install and Configure Fail2Ban on Ubuntu\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/install-configure-fail2ban-ubuntu.webp\",\"datePublished\":\"2026-09-28T15:02:53+00:00\",\"description\":\"Install and configure Fail2Ban on Ubuntu 22.04 and 24.04: a safe jail.local, SSH, Nginx and WordPress jails, testing, unbanning and common errors.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/#primaryimage\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/install-configure-fail2ban-ubuntu.webp\",\"contentUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/install-configure-fail2ban-ubuntu.webp\",\"width\":1200,\"height\":630,\"caption\":\"Title card: install and configure Fail2Ban on Ubuntu with jail.local and fail2ban-client status\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/security\\\/install-configure-fail2ban-ubuntu\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Install and Configure Fail2Ban on Ubuntu (SSH, Nginx and WordPress Jails)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#website\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\",\"name\":\"Host And Tech knowledge base\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\",\"name\":\"Host And Tech knowledge base\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-dark.png\",\"contentUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-dark.png\",\"width\":1134,\"height\":395,\"caption\":\"Host And Tech knowledge base\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/stshostandtech\",\"https:\\\/\\\/x.com\\\/stshostandtech\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/person\\\/b6fa79c48ddaba71af32e395c5b017ee\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/hostandtech.com\\\/kb\"],\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/author\\\/admin_fjj7qydm\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Install and Configure Fail2Ban on Ubuntu","description":"Install and configure Fail2Ban on Ubuntu 22.04 and 24.04: a safe jail.local, SSH, Nginx and WordPress jails, testing, unbanning and common errors.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/","og_locale":"en_US","og_type":"article","og_title":"How to Install and Configure Fail2Ban on Ubuntu","og_description":"Install and configure Fail2Ban on Ubuntu 22.04 and 24.04: a safe jail.local, SSH, Nginx and WordPress jails, testing, unbanning and common errors.","og_url":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/","og_site_name":"Host And Tech knowledge base","article_publisher":"https:\/\/www.facebook.com\/stshostandtech","article_published_time":"2026-09-28T15:02:53+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/install-configure-fail2ban-ubuntu.webp","type":"image\/webp"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@stshostandtech","twitter_site":"@stshostandtech","twitter_misc":{"Written by":"admin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/#article","isPartOf":{"@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/"},"author":{"name":"admin","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/person\/b6fa79c48ddaba71af32e395c5b017ee"},"headline":"How to Install and Configure Fail2Ban on Ubuntu (SSH, Nginx and WordPress Jails)","datePublished":"2026-09-28T15:02:53+00:00","mainEntityOfPage":{"@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/"},"wordCount":1135,"commentCount":0,"publisher":{"@id":"https:\/\/hostandtech.com\/kb\/#organization"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/#primaryimage"},"thumbnailUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/install-configure-fail2ban-ubuntu.webp","keywords":["fail2ban","Linux security","server hardening","SSH","Ubuntu"],"articleSection":["Server Security"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/","url":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/","name":"How to Install and Configure Fail2Ban on Ubuntu","isPartOf":{"@id":"https:\/\/hostandtech.com\/kb\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/#primaryimage"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/#primaryimage"},"thumbnailUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/install-configure-fail2ban-ubuntu.webp","datePublished":"2026-09-28T15:02:53+00:00","description":"Install and configure Fail2Ban on Ubuntu 22.04 and 24.04: a safe jail.local, SSH, Nginx and WordPress jails, testing, unbanning and common errors.","breadcrumb":{"@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/#primaryimage","url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/install-configure-fail2ban-ubuntu.webp","contentUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/install-configure-fail2ban-ubuntu.webp","width":1200,"height":630,"caption":"Title card: install and configure Fail2Ban on Ubuntu with jail.local and fail2ban-client status"},{"@type":"BreadcrumbList","@id":"https:\/\/hostandtech.com\/kb\/security\/install-configure-fail2ban-ubuntu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hostandtech.com\/kb\/"},{"@type":"ListItem","position":2,"name":"How to Install and Configure Fail2Ban on Ubuntu (SSH, Nginx and WordPress Jails)"}]},{"@type":"WebSite","@id":"https:\/\/hostandtech.com\/kb\/#website","url":"https:\/\/hostandtech.com\/kb\/","name":"Host And Tech knowledge base","description":"","publisher":{"@id":"https:\/\/hostandtech.com\/kb\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hostandtech.com\/kb\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hostandtech.com\/kb\/#organization","name":"Host And Tech knowledge base","url":"https:\/\/hostandtech.com\/kb\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/logo\/image\/","url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/05\/logo-dark.png","contentUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/05\/logo-dark.png","width":1134,"height":395,"caption":"Host And Tech knowledge base"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/stshostandtech","https:\/\/x.com\/stshostandtech"]},{"@type":"Person","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/person\/b6fa79c48ddaba71af32e395c5b017ee","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/hostandtech.com\/kb"],"url":"https:\/\/hostandtech.com\/kb\/author\/admin_fjj7qydm\/"}]}},"_links":{"self":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/comments?post=289"}],"version-history":[{"count":1,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/289\/revisions"}],"predecessor-version":[{"id":293,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/289\/revisions\/293"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/media\/284"}],"wp:attachment":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/media?parent=289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/categories?post=289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/tags?post=289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}