How to make sshd startup after zerotier-one?

I have bind sshd to the zerotier-one ip address.
That works.

After reboot, sshd dies because it cannot bind to zerotier-one interface.
Tried adding zerotie-one.service to After, Wants and Requires in systemd
But still does not work.

How to make sshd to startup only after zerotier-one has started up and got an ip address?

hmm… How about from the other side? Add in sshd.service: RequiredBy=, or Before=/After=. Or, create a .target unit to manipulate service launch at your will.

Off the top of my head, maybe a launch a .timer unit as part of ZeroTier’s (so you know ZT has started) that waits just a little bit after (OnActiveSec=##) starting to restart sshd…or maybe reset the failed unit, depending on the error given when it died.

Good luck. =)