Anda dapat melakukan pipe ke ssh dan menjalankan perintah jarak jauh. Dalam hal ini, perintah jarak jauh adalah cat > big.txt
yang akan menyalin stdin ke dalam big.txt
file.
echo "Lots of data" | ssh user@example.com 'cat > big.txt'
Sangat mudah dan mudah, selama Anda dapat menggunakan ssh untuk menghubungkan ke ujung jarak jauh.
Anda juga dapat menggunakan nc
(NetCat) untuk mentransfer data. Di mesin penerima (mis., Host.example.com):
nc -l 1234 > big.txt
Ini akan diatur nc
untuk mendengarkan port 1234 dan menyalin apa pun yang dikirim ke port tersebut ke big.txt
file. Kemudian, pada mesin pengirim:
echo "Lots of data" | nc host.example.com 1234
Perintah ini akan memberi tahu nc
di sisi pengirim untuk terhubung ke port 1234 pada penerima dan menyalin data dari stdin di seluruh jaringan.
Namun, nc
solusinya memiliki beberapa kelemahan:
- Tidak ada otentikasi; siapa pun dapat terhubung ke port 1234 dan mengirim data ke file.
- Data tidak dienkripsi, karena dengan
ssh
.
- Jika salah satu mesin berada di belakang firewall, port yang dipilih harus terbuka untuk memungkinkan koneksi melalui dan diarahkan dengan benar, terutama di sisi penerima.
- Kedua ujung harus diatur secara independen dan simultan. Dengan
ssh
solusinya, Anda dapat memulai transfer hanya dari satu titik akhir.