As a StackExchange question and with as little detail as this has: no. It is most likely not possible to do that as a configuration step.
There are a small number of critical links you could remove, but not cleanly.
Generally you don't remove all interactive shell interpreters, because you need one to run shell scripts. The systemd project aims to boot without them, and it enables a lot of system software to do so as well, but it's still hard to say that you'll never want to run a shell script. E.g.
dpkg use shell to run package install actions.
sulogin) are part of a single package called
util-linux. Generally you don't remove this package. For example
util-linux is also the package that provides the
mount program, which is a dependency of
systemd PID 1. So you would have to break (remove) parts of an installed package. This is usually avoided, for example that damage will be repaired if you ever upgrade the package, it will show up as warnings if you ever want to verify package checksums, etc.
By these definitions, you would have to remove
systemd/system/debug-shell.service as well. This file also, is not a configuration file that is designed to be modified or removed, and it is part of the
Not running the software that allows login would be the standard way to achieve this. It is fairly clean and effective. Another standard technique is not to create any user with an unlocked password and (or) valid login shell. If I was feeling paranoid I would do the latter. (And the former would naturally follow, for cleanliness and reducing "attack surface", as much as for redundancy).