Tramp file name syntax can accommodate ad hoc specification of
multiple proxies without using
configuration setup(see Multi-hops).
Each proxy is specified using the same syntax as the remote host specification minus the file name part. Each hop is separated by a ‘|’. Chain the proxies from the starting host to the destination remote host name and file name. For example, hopping over a single proxy ‘bird@bastion’ to a remote file on ‘you@remotehost’:
C-x C-f /ssh:bird@bastion|ssh:you@remotehost:/path <RET>
Each involved method must be an inline method (see Inline methods).
Proxies can take patterns
Tramp adds the ad-hoc definitions on the fly to
tramp-default-proxies-alist and is available for re-use
during that Emacs session. Subsequent Tramp connections to
the same remote host can then use the shortcut form: