Minimal Raspberry Pi headless setup
- An Ethernet cable
Getting the operating system
Torrent the Raspberry Pi OS iso or download it directly. I recommend torrenting. I also recommend getting the Lite version since it has the least bloat.
If you chose the direct download instead of the torrent, you need to verify its hash:
Flash the iso on the sdcard.
sudo dd if=/path/to/rpi.iso of=/dev/sdX status="progress" && sync
rpi.iso is the iso you just downloaded and
X is the letter of
the sdcard as seen from
It's probably the one with
vfat or something similar for a
Now mount the smaller partition of the sdcard you just flashed.
sudo mount /dev/sdX1 /mnt
sudo sed -i "s/$/ ip=10.3.14.1/" /mnt/cmdline.txt
sudo touch /mnt/ssh
Unmount the partition.
sudo umount /mnt
Put the sdcard in the Raspberry Pi and boot it.
Connect your computer to the Raspberry Pi with an Ethernet cable and
determine the name of your Ethernet interface. It should be the first
thing in blue from the command bellow. It's usually something like
ip -c link show
Give your interface an IP address. It can be anything, it really doesn't matter.
sudo ip addr add 10.3.14.5/24 dev eth0
Then set the interface as the gateway to the
That's just fancy language for saying: if you want to talk to a device
within the network (the pi), use the Ethernet cable.
sudo ip route add 10.3.14.0/24 dev eth0
Now you can ssh into the Raspberry Pi. The default password is "raspberry"
After you are done with the ssh session, remove the routing table record, get rid of the IP address and bring the interface down.
sudo ip route delete 10.3.14.0/24 dev eth0 sudo ip addr flush eth0 sudo ip link set eth0 down
I also have a record in
~/.ssh/config purely for convenience.
# EEEthernet pi host epi HostName 10.3.14.1 User pi port 22
That's it! There's no need for bloated network managers or their confusing configurations. There's no need for a monitor, keyboard, mouse, vnc, wifi, or anything else. You can just use the networking capability that's built into Linux.
I consider the Raspberry Pi compromised since it has a "secure execution" environment so I don't recommend putting things on it you wouldn't willingly give to the alphabet agencies. Some people like to use it as a mailserver. But just because you "own" the hardware does not make it secure. I myself simply host (or will host) my email on a vps but I don't consider it anything less than public, at least when it's not encrypted with gpg or something.
Recover password on a headless raspberry pi (webpage contains bloat)