Headless Raspberry Pi Setup — SSH & WiFi Without a Monitor
Set up a Raspberry Pi without a monitor or keyboard. Configure SSH, WiFi, and static IP from your laptop using Raspberry Pi Imager.
- 1 How to Install Docker on Raspberry Pi (Step-by-Step)
- 2 Headless Raspberry Pi Setup — SSH & WiFi Without a Monitor
- 3 Turn Your Raspberry Pi into a Home Server (Complete Guide)
- 4 Pi-hole Setup Guide — Block Ads on Your Entire Network
Introduction
A headless setup means running your Raspberry Pi without a monitor, keyboard, or mouse — you control it entirely over the network via SSH. This is the standard for homelab and server use.
Prerequisites
- Raspberry Pi (any model with WiFi, or use Ethernet)
- MicroSD card (16 GB+)
- Raspberry Pi Imager (download from raspberrypi.com)
- A computer on the same network
Step 1 — Flash the OS with Raspberry Pi Imager
- Open Raspberry Pi Imager
- Choose Raspberry Pi OS Lite (64-bit) — no desktop needed for a server
- Click the gear icon (⚙️) to open advanced settings:
- Enable SSH — use password or add your public key
- Set username and password
- Configure WiFi — enter your SSID and password
- Set locale — timezone and keyboard layout
- Flash to your SD card
Step 2 — Boot and Find Your Pi
Insert the SD card and power on. Wait 60–90 seconds for first boot.
Find the Pi on your network:
# From macOS/Linux
ping raspberrypi.local
# Or scan the network (requires nmap)
nmap -sn 192.168.1.0/24 | grep -i raspberry
On macOS?
nmapisn't pre-installed. See our Homebrew setup guide to install it in one command.
Step 3 — Connect via SSH
ssh pi@raspberrypi.local
Or use the IP address directly:
ssh pi@192.168.1.42
Accept the host key fingerprint on first connect.
Step 4 — Set a Static IP
Edit the dhcpcd config:
sudo nano /etc/dhcpcd.conf
Add at the bottom (adjust for your network):
interface wlan0
static ip_address=192.168.1.42/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1 8.8.8.8
Apply:
sudo systemctl restart dhcpcd
Step 5 — Harden SSH (Optional but Recommended)
Disable password authentication and use key-based auth only:
# On your laptop, copy your SSH key
ssh-copy-id pi@192.168.1.42
# On the Pi, disable password login
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
Step 6 — Update Everything
sudo apt update && sudo apt full-upgrade -y
sudo reboot
Summary
Your Pi is now running headless with SSH access and a static IP. This is the foundation for everything else — Docker, self-hosted services, VPN, and more. Next up: turning it into a home server.