How to connect via SSH through multiple hosts, each of the intermediate hosts only accepting keys from the first host?

I want to connect from host A via host B via host C to host D with SSH keys, without modifying the SSH config.

Host A is on a public internet, hosts B, C and D are on the same local network.

  • Host B accepts keys from host A.
  • Host C accepts only keys from host A.
  • Host D accepts only keys from host A.

Is this doable?