Bunu tersten de yapabilirsiniz ve belki daha kolaydır.
Diyelim ki dosyayı göndermek istediğiniz makine ile bir ssh oturumu açtınız. Bu en uzaktaki PC'ye bu hop2 adını vereceğiz. "Proxy" sunucunuz hop1 olacaktır. Dosya kökenli PC, bu köken diyoruz.
origin:~/asdf.txt --> hop1 --> hop2:~/asdf.txt
Uzak bir bilgisayarda yerel bir bağlantı noktasını sağlamak için tüneller oluşturabilirsiniz. Böylece uzak PC'de açılacak bir bağlantı noktası tanımlıyoruz; bu tüneli kurduğunuzda yanınıza aldığınız bağlantı noktasına bir yönlendirme olacak.
Hop2'de:
ssh -R 5555:127.0.0.1:22 <hop1_user>@<hop1_IP>
#this has the effect of building a tunnel from hop2 to hop1, making hop2's port 22 available on hop1 as port 5555
Şimdi açılan bu tünel oturumunda, hop1'den file_origin'e aynısını yapabilirsiniz.
Hop1'de:
ssh -R 6666:127.0.0.1:5555 <origin_user>@<origin_IP>
#this has the effect of building a tunnel from hop1 to origin while also pulling the active tunnel with it, making hop1's port 5555 (hop2's port 22) available on origin as port 6666.
Artık hop2'den hop1'e orijinli tünel açıyorsunuz. Tesadüfen, şimdi hem 5555 hem de 6666 numaralı bağlantı noktaları, hop2'nin 22 numaralı bağlantı noktasına yönlendirilen açık kaynaklarda açıktır.
Menşei:
scp -P 6666 ~/asdf.txt <hop2_user>@<127.0.0.1>:~/asdf.txt
Bu şekilde, aralarında isteğe bağlı olarak belirli sayıda atlama sayısı olabilir ve iki şeritten fazla zincirleme bağlamında birlikte çalışmak daha kolaydır.