How to Fix Permission Denied (publickey) on Ubuntu SSH
Read the client and server logs to find the real cause of a publickey refusal: the wrong key, the wrong account, or file permissions that OpenSSH rejects.
Practical articles on web hosting, WordPress, domains, servers and website security from the Siteharbour team.
Read the client and server logs to find the real cause of a publickey refusal: the wrong key, the wrong account, or file permissions that OpenSSH rejects.
Install Docker from its official repository, understand why published ports can bypass UFW, bind services to localhost, and prove the result with an external scan.
Find which layer rejects a large upload, then raise the Nginx, Apache, PHP and application limits in the right order, and test with a real file.
PHP2Shell (CVE-2026-109618 and CVE-2026-109619) can allow remote code execution. Find every PHP runtime, patch to the fixed versions, apply the mitigations, and check for compromise.
Install Sendy on Ubuntu 24.04, verify your domain in Amazon SES, get out of the sandbox, handle bounces and complaints, and schedule campaigns with cron.
Decide whether to self-host mail, check the IP and reverse DNS first, then set up Postfix, Dovecot, SPF, DKIM and DMARC with the tests that prove mail is delivered.
Tune Nginx in the order that matters: measure first, raise the connection and file limits, reuse backend connections, cache repeat responses and limit abuse without blocking real visitors.
Know when a shared WordPress plan is the real bottleneck, how to measure it, what an Nginx VPS changes, and a safe step-by-step move with the old site kept running.
Tune MariaDB on a dedicated server: measure first, size the InnoDB buffer pool, match I/O to NVMe, cap connections, keep durability safe and fix the slow queries with indexes.