Any OS can be "headless" with some kind of remote access, even the Desktop version of Raspbian (using VNC).
Raspbian Lite is a CLI, or command line interface based OS. There is no "Desktop" GUI, which makes it very lightweight, and you interact with it by typing commands into the CLI. This can be done directly with a keyboard and screen, or you can run it on a headless PI and connect via SSH. If the OP wants a lightweight OS with no GUI, Raspbian Lite is the officially supported OS. I have a few headless Pi computers running Raspbian Lite, and a Tinker Board running the "Lite" equivalent version of Armbian (also available for the Pi).
For the Pi models with an Ethernet port, headless access will require a network connection (wired or wireless). For the Pi Zero, you also have the option of running in USB Gadget mode and connecting via SSH over a USB cable.
This is the procedure I use for setting up headless boot with SSH and wireless network. It works with Raspbian Jessie or Stretch, Desktop or Lite, and with the built-in WiFi on the Pi3B(+) & Pi Zero W, or a Raspbian compatible USB WiFi dongle on other models. Everything is done before you boot, and can be done on a Windows or Mac computer which only has access to the small FAT32 "boot" partition of a Raspbian imaged SD card.
- Grab the latest Raspbian image from https://www.raspberrypi.org/downloads/raspbian/
- Grab the Etcher software from https://etcher.io/
- Use Etcher to write the Raspbian image to your SD card.
- You don't need to extract the image or format the card prior to writing.
- Just run Etcher, choose the Raspbian .zip you downloaded, pick your SD card and write.
- If you have trouble, verify the SHA256 checksum of the download.
- Writing an image to your card will erase everything previously on it!
- Remove and reinsert the SD card so that your Windows or Mac PC can see the small FAT32 partition on the card (labelled "boot").
- If you get a message telling you the card must be formatted, cancel it.
- On that small FAT32 partition, create a file with the name ssh (or ssh.txt). It can be empty, the contents don't matter.
- To connect to a wireless network, create another file on the card called wpa_supplicant.conf, which has the following inside:
Code: Select all
ssid="Your network name/SSID"
psk="Your WPA/WPA2 security key"
- Edit country=, ssid= and psk= with your information and save the file.
- Use the 2 letter country abbreviation in CAPS (without this you will have no WiFi).
- Use a pure text editor, not a word processor, to edit the wpa_supplicant.conf file.
- Make sure that both files are in the main directory of the small FAT32 partition, not in any folder.
- Safely eject the card from your PC and use it to boot the Pi.
If Raspbian finds an ssh file it will enable SSH and delete the file. If it finds a wpa_supplicant.conf file, it will move it to its correct location and connect to your wireless network. Give your Pi some time to boot and connect to your network (the first boot always takes longer), then you should be able to SSH into the Pi and configure it how you like.
If you have a Zeroconf network service installed (Apple's iTunes or Bonjour install Zeroconf to Windows), you can SSH into [email protected]
(provided you don't have any other Pi computers on your network with the same default hostname). Otherwise you must SSH into your Pi's IP address, which you can find by logging into your router and checking the list of connected clients, or using a network scanner app (like Fing for smartphones).
To login using SSH from Windows, you can use an app called PuTTY, which looks like this (click picture for download link).
In the Host Name (or IP address) field, enter either,
make sure SSH is selected (it should be by default) and click on Open.
If you have done everything correctly, a terminal window will open and you should see a password request. Although, if it's the first time you've connected to your Pi, you may have to answer "yes" to a security question, and then you'll get the password prompt. After login you'll get a warning about having SSH enabled with the default password, so type passwd[Enter] and enter a new password (twice). And now you can do whatever you need to configure your little Raspberry Pi computer.
Will bring up the Raspbian configuration utility. If you have more than one Raspberry Pi computer on your network it's a good idea to change the hostnames to something unique so that they can easily be identified.
If you have attempted this and failed, then unplugged power to turn off your Pi, you should start over with a freshly imaged card. Improperly powering down the Pi can cause SSH key generation to fail, which will prevent SSH logins (even if everything else is correct).
Alternatives to PuTTY:
If your main PC has the Windows 10 OS, there are 2 alternatives to PuTTY. The Windows 10 Fall Creators Update (2017) added the ability to install the Windows Subsystem for Linux, which is a Linux Bash shell for Windows (there are a few different versions of Linux in the Microsoft Store). And the recent Windows 10 Spring Update (2018) added OpenSSH directly to the Windows command and powershell utilities.
My mind is like a browser. 27 tabs are open, 9 aren't responding,
lots of pop-ups...and where is that annoying music coming from?