Raspberry Pi

How To Set Up A Headless (And Password-less) C.H.I.P. Computer

My C.H.I.P. computer arrived yesterday.  The first thing I did was take an obligatory banana picture as seen below.


Next, I set it up as a headless machine so I can mess around with it on my Mac instead of hooking it up to a TV with a keyboard and mouse because remote access makes like much easier.

Steps To Set Up A Headless C.H.I.P.

You can find some great help on their documentation site, but below are the steps I took to get both SSH and VNC working on the C.H.I.P.

Next Thing Co. has a great documentation site simply found at

Connect The C.H.I.P. To A Monitor

I used my HD TV, which had some open RCA inputs.  Since I did not have a USB hub and the C.H.I.P. only has one USB port, I had to swap out the mouse and keyboard whenever I needed to use one or the other.

Connect To The Network

Unless you are using a USB-to-Ethernet adapter, you will connect via Wi-Fi.  Select your network and enter the password.  Since I always want to know where to find my C.H.I.P., I set a static IP address.  To do so, go to Settings > Network Connections.


On a side note, it looks like I haven’t used this connection for 46 years.


Set A Static IP Address

Edit the connection details and enter your network information.  I just used OpenDNS servers for the time being.



SSH is already enabled by default, so I did not need to do anything here.  You just have to know to log on as root.

Connect Without A Password

In addition to being more secure, it’s very convenient to connect via SSH without having to type in a password every-time.  Make sure you have generated some SSH keys and then you can run this command:

cat ~/.ssh/ | ssh root@ 'mkdir ~/.ssh;cat >> ~/.ssh/authorized_keys'

This will add your public key to the C.H.I.P., allowing you to log in without a password.

VNC (Screen Sharing)

I wanted to be able to use the GUI as well without having to use a separate monitor every time.  I wanted to do everything from my Mac, so I had to setup VNC.  I opened Synaptic Package Manager, updated it, and then searched for VNC.


There are many different servers you can choose from.  I chose TightVNC since I have used it before.


Once installed, I restarted the C.H.I.P. and then started the VNC server with this command:


The first time you run it, you will be asked to make a password, which you will enter when you try to connect.  After that, I was able to connect via my Mac’s Connect to server… menu.



What Next

A lot of work has been going into the Pi-hole lately (we just added support for IPv6), so I want to somehow make the C.H.I.P. into a $9 Pi-hole, which would be even cheaper than a $35 Raspberry Pi-hole.

In addition to being less expensive, the C.H.I.P. is considerably smaller than the Raspberry Pi 2, which I am currently using as my Pi-hole.

C.H.I.P. vs Pi-hole size

12 replies on “How To Set Up A Headless (And Password-less) C.H.I.P. Computer”

How is this a headless set up? It looks like you did the whole tutorial connected to a TV. I thought the headless version of the CHIP OS did not come packaged with a GUI.

It’s not a headless setup, it’s setting up a headless machine for future use (so no monitor or keyboard–just available over SSH).

Oh, sorry about that. Now that I read it again I see what you mean. I was actually able perform a headless setup using serial and nmcli to set up ssh and vnc. Thanks for the post. I’m excited to see more CHIP in the near future!

Any luck on setting up pi-hole on the chip? I’m trying to set my chip up with pi-hole, but the auto-install keeps botching up the networking and repos. The only way around it was to install the dependencies first, then run the script… frustrating.

Hi Jacob! I know it’s been a while since you posted this. I’m stuck on configuring the chip to automatically log in. Every time I input the command, it gives me an error message of:

cat: /root/ssh/ No such file or directory.

Then it asks me for my root password, and it replies with this message:

mkdir: cannot create directory ‘/root/.ssh’: File exists

What am I doing wrong?

You can just leave that command off then. They probably updated their image and that step is no longer needed as that file already exists.

Maybe I’m a little confused. Does this command eliminate the need to manually enter a password to log on to the CHIP, or does it eliminate the need to manually enter a password to connect via SSH?

Leave a Reply