The standard OpenSSH SSH client accepts the argument -J
to allow users to utilize a jump host/jump box.
What I recently discovered (and isn’t immediately obvious from the documentation) is that you can actually specify multiple jump hosts – separated by a comma – and the SSH client will jump through each single one in order to reach the target.