10

How do I restart sshd on raspbian stretch?

This does not work:

pi@raspberrypi:~/.ssh $ sudo systemctl restart sshd
Failed to restart sshd.service: Unit sshd.service not found.

3 Answers3

9

Same issue with both stretch and jessie. Until you enable the service with:

systemctl enable ssh

you cannot refer to the service as "sshd". Once the service is enabled, no problem, you can even disable the service with:

systemctl disable sshd

Really stupid in my opinion but that's the way it is.

Caleb Carroll
  • 91
  • 1
  • 1
  • Exactly, I'm installing ArchlinuxArm to get rid of this kind of hassles. – wuxb Sep 30 '19 at 18:04
  • @wuxb: You can run, but you cannot hide :) The ssh vs sshd thing is a deliberate decision by the folks who bring you systemd. LOL – Seamus Oct 11 '23 at 20:04
5

In my case on raspberry pi 3B+ device with raspbian OS work this:

sudo service ssh status
sudo service ssh restart
sarkiroka
  • 151
  • 1
  • 3
4

As stated in the comments the main service is ssh.service. But you can it also address with sshd.service. As you can see ssh.service has an Alias:

pi ~$ systemctl cat ssh
# /lib/systemd/system/ssh.service
[..]
[Install]
WantedBy=multi-user.target
Alias=sshd.service
pi ~$

Quoted from man systemd.unit:

In addition, unit files may specify aliases through the Alias= directive in the [Install] section; those aliases are only effective when the unit is enabled.

With

pi ~$ sudo systemctl enable ssh

You can also get it with:

pi ~$ systemctl status sshd
Ingo
  • 42,107
  • 20
  • 85
  • 197