Dua orang telah menyebutkan tar lebih dari ssh, tetapi tidak mengatakan bagaimana melakukannya. Sebagai catatan, prosedur dasar adalah menjalankan:
tar cf - files... | ssh remotehost 'cd /destination && tar xvf -'
Atau, jika Anda ingin memulai transfer dari sisi penerima:
ssh remotehost 'cd /source && tar cf - files' | tar xvf -
Keuntungan melakukannya dengan cara ini daripada solusi netcat Evan adalah bahwa semuanya dapat dimulai dari satu komputer; Anda tidak perlu mengoordinasikan dua pemanggilan netcat. Jika Anda ingin ini berjalan secara otomatis, Anda dapat mengatur kunci ssh yang memungkinkan Anda membuat koneksi tanpa frasa sandi, dan menggunakan kunci itu untuk koneksi ini.
ssh memiliki opsi -C untuk mengompresi aliran datanya, atau Anda dapat menggunakan kemampuan kompresi bawaan GNU tar:
tar zcf - files... | ssh remotehost 'cd /destination && tar xzvf -'
Rsync adalah pilihan lain, tetapi setelan kuatnya adalah memperbarui file yang sudah ada pada sisi penerima. Saya menemukan ini lebih lambat daripada scp atau tar / ssh ketika menggunakannya untuk mentransfer file yang belum ada di ujung lainnya.