I will have many (10-300) Raspberry Pies running my own software in different networks, probably without its own static public ip, but all connected to the internet. I need to be able to manage these devices somehow, for example, reboot remotely or update my software inside it remotely. As far as I understand if they are in private network without static public ip, I won't be able to ssh to them, is it correct?

How do i do it then? Are there any free softwares to manage pies or any other solutions?

Can I ssh