Anda dapat menggunakan opsi ProxyCommand SFTP untuk secara tunnel tunnel koneksi SFTP melalui koneksi SSH (sedikit mirip dengan jawaban WhiteFang34, tetapi melalui stdin & stdout koneksi SSH, daripada port TCP lokal yang diteruskan):
sftp -o "ProxyCommand=ssh -e none user@intermediatehost exec /usr/bin/nc %h %p 2>/dev/null" user@finalhost
(Itu dengan asumsi host perantara memiliki netcat diinstal sebagai / usr / bin / nc - jika tidak, Anda mungkin harus menemukan / menginstal beberapa cara yang setara untuk gateway stdin & stdout ke sesi TCP.)
Apa yang benar-benar keren tentang opsi ini adalah Anda dapat menambahkannya ke file ~ / .ssh / config Anda, yang membuatnya transparan:
Host finalhost
ProxyCommand ssh -e none user@intermediatehost exec nc %h %p 2>/dev/null
Dengan entri itu, Anda dapat menggunakan sftp, scp, dan ssh ke finalhost, dan itu akan secara otomatis memanggil terowongan. Satu-satunya bagian yang tidak transparan adalah akan meminta dua kata sandi (hosting perantara diikuti oleh hosting final), tetapi jika mau, Anda dapat menghilangkannya juga dengan keypairs SSH ...