Often some hosts in corporate network are available only from several gateway machines. The scheme looks like that: you connect to gateway
ssh -A gateway.public.net and then to desired host from gateway machines
ssh -A host.private.net. But the problem arises when you want to copy or download something from host.private.net. You have to do it in two hops, because host.private.net is not available from your machine directly. The solution is ssh forwarding. Just add the following (edit according your network settings) lines to
Host gateway User bikulov ForwardAgent yes HostName gateway.public.net IdentityFile ~/.ssh/bikulov_private_key Host host User bikulov ForwardAgent yes ProxyCommand ssh -4 gateway nc -q 0 host.private.net 22
ForwardAgent options forwards information about your ssh key
bikulov_private_key to gateway.public.net. Now you can just type
ssh host in terminal. You will be connected to host.private.net through gateway.public.net automatically. And scp now works directly too.