Some troubleshooting thoughts:
What do you mean when you say SSH is "down":
- connection refused (fail2ban's activity could result in a connection refused, but a VPN should have avoided that problem, as you said)
- connection timeout. probably a failure at the port forwarding level.
- connection succeeded but closed; this can happen for a few reasons, such as the system is in an early boot up state. there's usually a message in this case.
- connection succeeded but auth rejected. this can happen if your os failed to boot but came up in a fallback state of some kind.
Knowing which one of these it is can give you a lot more information about what's wrong:
System can't get past initial boot = Maybe your NAS is unplugged? Maybe your home DNS cache is down?
Connection refused = either fail2ban or possibly your home IP has moved and you're trying to connect to somebody else's computer? (nginx is very popular after all, it's not impossible somebody else at your ISP has it running). This can also be a port forwarding failure = something's wrong with your router.
Connection succeeded + closed is similar to "can't get past initial boot"
Auth rejected might give you a fallback option if you can figure out a default username/password, although you should hope that's not the case because it means anyone else can also get in when your system is in fallback.
Very few of these things are actually fixable remotely, btw. I suggest having your sister unplug everything related to your setup, one device at a time. Internet router, raspberry pi, NAS, your VM host, etc. Make sure to give them a minute to cool down. Hardware, particularly cheap hardware, tends to fail when it gets hot, and this can take a while to happen, and, well, it's been hot.
Here's a few things with a high likelihood of failing when you're away from home:
- heat, as previously mentioned.
- running out of disk space. Maybe you're logging too much, throw some more disk in there and tune down the logging. This can definitely affect SSH, and definitely won't be fixed by a reboot.
- OOM failures (or other resource leaks). This isn't likely to affect your bare metal ssh, but it could. Some things leak memory, and this can lead to cascading process destruction by the OS. In this scenario you'd probably be able to connect to things in the first few minutes after a reboot, though.
- shitty cabling. Sometimes stuff just falls out of the socket, if it wasn't plugged in perfectly to begin with. (Heat can also contribute to this one.)
- reliance on a cloud service that's currently down. (This can include: you didn't pay the bill.) Hopefully your OS boot doesn't fail due to a cloud service, but I've definitely seen setups that could.