Tja, das sieht nicht gut aus. So einen Fehler hatte ich noch nicht (aber alle anderen).
Es ist eindeutig: der SSH-Server kann nicht gestartet werden. Genau das erzeugt deinen Fehler ssh: connect to host 192.168.178.40 port 22: Connection refused. Connection refused bedeutet immer, dass auf dem angesprochenen Gerät der Port nicht offen ist (hier: Port 22). Wenn ein Port nicht offen ist, dann liegt es meist daran, dass der dazu gehörige Service nicht gestartet ist, und das hier der Fall.
Du kannst den sshd im Debug-Modus aufrufen. Vielleicht steht da etwas Nettes:
sudo /usr/sbin/sshd -d
Ich hab mal gegoogelt, aber finde nichts wirklich Brauchbares. Manche Anwender haben das gleiche Problem, weil sie SELinux aktiviert haben. Wenn du davon noch nie gehört hast, dann wirst du das wohl nicht getan haben.
Andere haben eine kaputte Konfigurationsdatei für den Server. Du kannst testen, ob er sich ohne diese Datei starten lässt:
sudo mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo systemctl restart sshd
sudo journalctl -xe
Wenn das auch nicht funktioniert, dann sollte die Konfigurationsdatei wieder verfügbar gemacht werden:
sudo mv /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
Wiederum andere schwören auf
sudo mkdir -p /var/run/sshd
sudo systemctl restart sshd
sudo journalctl -xe
Was auch immer das tut.
Vielleicht hilft auch eine Rekonfiguration:
sudo dpkg-reconfigure openssh-server
Oder vielleicht hilft eine Neu-Installation des Service:
apt-get remove --purge openssh-server
apt-get install openssh-server
Manchmal liegt es an einer kaputten SSD oder einem kaputten Dateisystem. Da hilft meist ein Reboot.
Du siehst: ich weiß es nicht und kann nur raten.