Eu considero que o hospedeiro B é, e. um gateway em uma intranet e pode se conectar ao host A e C, e. assim:
-----------------------------------------------------------
| |
| |
--------- ----------- -------------- |
|A |------------------------------| B |------------------| | |
--------- | | | C | |
----------- -------------- |
| |
-----------------------------------------------------------
Neste caso, a melhor solução é o encaminhamento de porta ssh. Eu o descrevo no link
Primeiro, em A, você encapsula a porta 2222 de B para a porta 22 de C com o comando:
ssh -L 2222:C:22 B
então você copia para a porta 22 de C, conectando-se à porta 2222 em A (localhost) com o comando:
scp -P 2222 file root@localhost: