Headless operation

I’m experiencing problems ssh-ing into a headless Nano.

I’ve got a four node cluster (https://twitter.com/Grady_Booch/status/1390755224638218240/photo/1) running Kubernetes. Jet Pack 4.5.1 pretty much broke everything :-( so I’ve been rebuilding my stack from scratch.

These are all headless nodes, made so this way (I’ll explain the commands in <> in a moment):

<sudo systemctl set-default multi-user.target>
sudo reboot now

I’ve successfully configured one of the boards, but the second one - even though I’m configuring it identically - fails in a strange way.

Specifically, on the first board, I can connect via ssh upon boot. On the second board, however, the ssh service never starts UNLESS I FIRST login in to tty1…and then the service starts immediately.

Now, I tried to purge the display manager, since I don’t need it to run headless, using these commands on both boards:

sudo systemctl stop gdm3
sudo systemctl disable gdm3
<sudo systemctl set-default multi-user.target>
sudo apt remove --purge ubuntu-desktop gdm3
sudo apt purge libreoffice*
sudo reboot now

If I do all of these on the first board, no problem: upon boot, I can ssh in directly. However, on the second board…the ssh service never starts. IF I don’t carry out the command in <>, I CAN start ssh into the second board (even though there is no graphical display manager running).


Any thoughts?

(am about to try boards 3 and 4, and see what happens next)

This sounds weird to me too. Do you have other interface to access the board and check the default sshd status?

For example, using serial console to access.

Yeah…it’s curious.

So, after installing JP 4.5.1, I do this:

sudo systemctl stop gdm3
sudo systemctl disable gdm3
sudo apt remove --purge ubuntu-desktop gdm3
sudo apt purge libreoffice*
sudo reboot now

But that doesn’t make the node fully headless, because it leaves me with the Light Display Manager. If I go all the way (on one all but one of my three nodes!) and cut off the head completely with this

sudo systemctl set-default multi-user.target

Then I get the weirdness I mentioned: I can’t ssh in (and I can’t even get a response from a remote ping) until I login via TTY1.

As such, where I’ve left matters, is to do the first set of commands but not the set-default one.

This gave me no problem prior to the latest Jet Pack.

(and so…even if I set up serial access to the console as above, I still end up having to log in before I can ssh)

Hello Grady,

I appreciate your post for multiple reasons, I had no idea that LibreOffice was installed. Why that would be included in the Jetpack I have no idea. I removed it from mine, too, saved significant SD space.

I just experienced the same issue. I have not resolved it yet. I was in the middle of connecting my Raspberry PI camera when I ran into it.

I could not ssh into my Jetson Nano, nor did it turn up in a network map command (zmap) that I ran from other computers. The Jetson Nano did not respond to pings either. All of those issues resolved after logging in to it first.

I really hope I can get this resolved easily. I am planning to use several Jetson Nano’s and eventually higher end AI boards in a cluster along with Raspberry PI’s and some Dell servers that I have here.


Hey, I was having this issue and manually setting my network interface seemed to do the trick.

edit: /etc/default/networking

then edit: /etc/network/interfaces with your network adapter information e.g.

auto wlan0
iface wlan0 inet static
wpa-ssid yourSSID
wpa-psk password

after this I seem to be able to log in on ssh without needing to log into the jetson directly.

Good luck, hope this helps.