Cara termudah untuk mengirim file melalui jaringan


14

Apa cara paling sederhana dan paling serbaguna untuk mengirim file melalui jaringan ke komputer lain? Maksud saya komputer yang digunakan orang lain saat ini. Saya tidak berpikir SSH berfungsi jika komputer memiliki sesi aktif terbuka.

Sejauh ini saya menggunakan netcat, yang berfungsi dengan baik. Tetapi apakah ada cara sederhana lain untuk melakukan ini? Satu masalah yang saya miliki netcat, adalah bahwa penerima perlu mengetahui akhir file dan harus datang dengan nama untuk streaming.


1
Jika Anda ingin tetap menggunakan, netcatAnda dapat mengirim tararsip dan mengekstraknya dengan cepat. Itu akan memecahkan masalah nama file dan itu lebih fleksibel. Tetapi pada akhirnya saya kira scpatau rsyncmerupakan pilihan yang lebih mudah.
Marco

Bagaimana cara mengirim tar dan mengekstraksinya dengan cepat bekerja?
TomTom

1
Saya kira itu akan berada netcat hostname | tar -xdi direktori di mana Anda ingin meletakkan file.
Dmitry Grigoryev

Jawaban:


21

Anda menyulitkan hidup Anda tanpa perlu. Gunakan scp.

Untuk mentransfer file myfile dari direktori lokal Anda ke direktori / foo / bar pada mesin otherhost sebagai user pengguna , inilah sintaks: scp myfile user@otherhost:/foo/bar.

EDIT: Perlu dicatat bahwa transfer via scp / SSH dienkripsi sementara transfer via netcat atau HTTP tidak. Jadi jika Anda mentransfer file sensitif, selalu gunakan yang pertama.


Apakah saya tidak memerlukan kata sandi untuk scpakun pengguna?
TomTom

Ya tentu saja. Anda memerlukan kata sandi untuk akun tersebut user@otherhost.
dr01

2
Tidak, Anda tidak perlu kata sandi jika menggunakan otentikasi kunci publik
YoMismo

9
Ok, jika Anda ingin pilih-pilih, mari negara yang Anda harus mengotentikasi sebagai user@otherhost.
dr01

1
Juga, sebagai penyederhanaan, jika nama pengguna Anda sama di kedua mesin, Anda dapat mengecualikan nama pengguna. Meskipun demikian, ia masih akan meminta kata sandi Anda.
Sildoreth

10

Anda juga bisa mencoba

python -m SimpleHTTPServer 8180

Ini akan melayani file dalam direktori yang dijalankan melalui HTTP, Anda dapat mengaksesnya melalui Browser.


Atau gunakan darkhttpd ketika tidak puas dengan kinerja.
TNW

1
Untuk Python 3: python3 -m http.server <port>.
dotancohen

Lihat di sini untuk informasi lebih lanjut tentang opsi ini: askubuntu.com/a/95607/42073
Erel Segal-Halevi

Terima kasih! Sempurna untuk memasukkan beberapa file ke sistem uji Windows
QwertyChouskie

9

Jika Anda senang, netcatAnda bisa mengatasi masalah nama file dengan mengganggu tar. Ini juga menyederhanakan pengiriman beberapa file sekaligus sekaligus mengirim direktori.

Di sisi pengirim gunakan:

tar cf - <files> | nc <host> <port>

Dan di sisi penerima:

nc -l <port> | tar x

Solusi lain adalah menggunakan rsyncatau scp.


Saya biasanya menambahkan -q2 ke pengiriman netcatjuga, untuk membuatnya mematikan koneksi di akhir aliran.
Simon Richter

Saya gagal memahami mengapa ini harus diminta. Itu dimatikan secara otomatis tanpa -qopsi.
Marco

Itu tergantung pada implementasi netcat yang Anda gunakan. Ada implementasi yang hanya menutup satu arah aliran TCP ketika stdin ditutup, karena arah lain mungkin masih aktif.
Simon Richter

tar | ssh tarjuga bekerja dengan sangat baik dalam kasus di mana scp jatuh dan rsync tidak tersedia.
hobbs

2

Tentu saja sshberfungsi jika sesi lain terbuka. Anda bisa melakukannya

ssh user@host cat /path/to/file.tar  > localfile.tar

Atau, untuk menyalin ke direktori lokal Anda:

scp user@host:/path/to/file.tar .

Apakah mungkin sebaliknya misalnya ssh lubuntu '>newfile.txt' <file.txt?
heemayl

1
@ heemayl ya, untuk masuk ke file jarak jauh, Anda akan melakukannya cat local.file | ssh user@host "cat > remote.file", atau ssh user@host "cat > remote.file" < local.file.
terdon

0

Jika kedua host berada di LAN yang sama, Anda dapat menggunakan woos .

Ini sangat mudah digunakan.

Jika pengirim dan penerima DI MANA SAJA di internet dan Anda harus mentransfer FILES BESAR, Anda harus menginstal F * EX: http://fex.belwue.de/index.html


1
basic scp juga sangat sederhana, dan alat yang sebenarnya didistribusikan, dipercaya, dan digunakan oleh jutaan orang, tidak seperti alat buatan sendiri yang tampaknya dipromosikan oleh penulisnya.
Jack Wasey
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.