Troubleshooting DNS Leaks with systemd-resolved and resolv.conf on a Small Linux Server

Introduction to DNS Leaks

I’ve seen DNS leaks cause issues on even the most secure Linux servers. Ensuring your DNS setup is solid is crucial, and one common problem is a DNS leak, where your system inadvertently reveals your DNS queries to unauthorized parties. In this article, I’ll walk you through troubleshooting DNS leaks using systemd-resolved and resolv.conf on a Linux server.

Understanding systemd-resolved

systemd-resolved is a powerful tool that provides DNS resolution capabilities. It’s designed to be a caching, validating DNS resolver that can also handle DNSSEC validation. To check if systemd-resolved is running on your system, use the following command:

[Read More]

Debugging systemd Service Startup Failures with systemd-analyze and Journalctl

Introduction to Debugging systemd Services

I’ve seen this go wrong when you’re trying to troubleshoot issues with your Linux system - those pesky systemd services can be a real pain. They’re the backbone of your system, managing everything from network connections to system logging. Debugging these services can be a daunting task, especially for those new to Linux administration. Fortunately, systemd provides two powerful tools to help you diagnose and resolve issues: systemd-analyze and journalctl.

[Read More]

Using systemd to Manage and Rotate Log Files Without Running Out of Disk Space

Introduction to Log Rotation with systemd

I’ve seen log files consume entire disks, bringing systems to a grinding halt. That’s why log rotation is crucial - it ensures your logs don’t get out of control. With systemd, you’ve got a robust mechanism for managing and rotating logs. In this article, I’ll dive into using systemd for log rotation, covering its benefits, configuration, and some practical examples.

Understanding systemd’s Role in Log Rotation

systemd’s journald is a game-changer for log management. It collects and stores log messages from various sources, including systemd services, kernel messages, and other system components. This centralized logging system makes it easier to manage and rotate logs. By leveraging systemd’s capabilities, you can configure log rotation to suit your specific needs, keeping your system stable and secure.

[Read More]

Taming systemd-resolved: Tips for Troubleshooting and Customizing DNS Resolution on Linux

Introduction to systemd-resolved

I’ve been using systemd-resolved for a while now, and I have to say, it’s a big improvement over traditional DNS resolvers. As of 2026, many Linux distributions, including Ubuntu, Debian, and Fedora, have adopted systemd-resolved as the default DNS resolver. While it offers several benefits, including improved security and performance, some users may encounter issues or require customization to suit their specific needs. Don’t bother with trying to disable it, though - it’s usually worth the effort to get it working right.

[Read More]

Taming Log Rotation in systemd: A Practical Approach to Preventing Disk Bloat

Introduction to Log Rotation

I’ve seen this go wrong when log files grow out of control, filling up the disk and causing system instability. That’s why log rotation is a crucial aspect of Linux system maintenance. With many Linux distributions, including Debian and Arch Linux, adopting systemd as their default init system, understanding how to manage log rotation in a systemd environment is essential. In practice, this means getting familiar with systemd-journald, the component responsible for collecting and storing log messages.

[Read More]

Hardening SSH Access with Mandatory SSH Keys and Disabled Password Authentication

Introduction to SSH Hardening

Securing SSH access is a no-brainer for any Linux administrator. One effective way to harden SSH access is by using mandatory SSH keys and disabling password authentication. I’ve seen this go wrong when people don’t take the time to set it up properly, so let’s walk through the process.

Understanding SSH Keys

SSH keys are a pair of cryptographic keys used for authentication. The private key is stored on the client machine, while the public key is stored on the server. When a user attempts to connect to the server, the client uses the private key to encrypt a message, which is then decrypted by the server using the public key. If the decryption is successful, the user is granted access.

[Read More]

Using OpenSSL to Verify SSH Server Certificates on Linux Clients

Introduction to SSH Server Certificate Verification

As a Linux user, you’re probably no stranger to Secure Shell (SSH) and its importance in securely accessing remote servers. With the rise of SSH server certificates, I’ve seen this go wrong when not properly verified - it’s crucial to ensure the authenticity and integrity of your SSH connections. In this article, we’ll explore how to use OpenSSL to verify SSH server certificates on Linux clients.

[Read More]

Hardening SSH Access with Fail2Ban and Public Key Authentication on Debian-based Systems

Introduction to SSH Hardening

I’ve seen many Linux systems compromised due to weak SSH security, so I want to share my approach to hardening SSH access. As of 2026, SSH remains a vital tool for system administration, development, and self-hosting, but its widespread use also makes it a common target for brute-force attacks and unauthorized access attempts. To mitigate these risks, I recommend using Fail2Ban and Public Key Authentication to secure SSH on Debian-based systems.

[Read More]

Using OpenSSH Certificates for Easier and More Secure Server Access

Introduction to OpenSSH Certificates

I’ve seen many Linux admins struggle with managing SSH keys for their users. OpenSSH certificates are a game-changer here - they offer a more secure and convenient way to manage access to your Linux servers. By using certificates, you can avoid the hassle of managing individual SSH keys for each user and reduce the risk of key compromise.

Generating a Certificate Authority

To get started with OpenSSH certificates, you need to set up a Certificate Authority (CA). The CA will be used to sign and verify the certificates. I usually start with generating a CA key pair using the following command:

[Read More]

Hardening SSH Without Turning Your Server Into a Museum

Introduction to SSH Hardening

Securing your SSH server is one of the most critical tasks as a Linux administrator. I’ve seen this go wrong when systems are left vulnerable to unauthorized access. The recent high-profile vulnerabilities discovered in popular SSH implementations in 2025 serve as a reminder to keep your SSH server up to date and configured securely. In this article, we’ll discuss practical steps to harden your SSH server without making it overly restrictive.

[Read More]