
I'm away from home, regularly accessing my computers at home. Easy: ssh into a gateway machine and ssh from there into the internal machine of my choice. Nested ssh sessions. It gets a little more annoying when I want to transfer a file. The new-to-me ssh/scp option "ProxyJump" handles this conveniently. Consider the example of transferring a file "f" from machine "home" through machine "gw" to machine "away", all done from an xterm on "away". Note: because "away" is behind NAT, "gw" cannot scp to it. Note: -A enables ssh-agent to avoid some manual authentication Note: things become more complicated if f has slashes. [away] $ ssh -A gw [gw] $ scp -p home:f . [gw] $ exit [away] $ scp -p gw:f . [away] $ ssh -A gw [gw] $ rm f [gw] $ exit This can be simplified because the ssh command allows shell commands as arguments. That's not a habit I've developed. [away] $ ssh -A gw scp -p home:f . [away] $ scp -p gw:f . [away] $ ssh -A gw rm f The ProxyJump option makes this a lot simpler: [away] $ scp -p -o 'ProxyJump gw' home:f . I have no need for more than one intermediate hop so I haven't figured out how that would work.