Question if I update my server and it has the new SSH (patched) package. Is that enough or do I have to restart the server as well? How can I check if the old SSH is in use currently?
Restart your ssh server to be sure (probably sudo systemctl restart sshd). No need to reboot your server for this.
I don't know how reliable this is, but I usually go into htop to check if stuff needs to be restarted. Processes in red have been replaced or removed since starting.
That said, regular server reboots are a good idea to make sure kernel patches are applied. Can't go wrong with a reboot just in case.
It sounds like it's the kernel but whether it has anything to do with ssh, I really don't know. Sometimes parts work together in surprising ways, as I learned with the recent sshd/systemd/xz exploit.
You might be fine and this was the most alarming exploit since it's very inconvenient, but personally I'd restart just to be sure.
No - it's the kernel image - the actual operating system, rather than a service that runs on top of it.
If you just want to restart your ssh service after updating the packages, then "systemctl restart sshd" is all that's needed, although you should probably reboot whenever the package manager suggests as a general good habit.
For anyone in RHEL / Fedora land (or using dnf somewhere else), try dnf needs-restarting to list executables that have mismatched files on disk vs memory. The -r flag will hint if a reboot is needed (due to things like kernel or glibc changes)