GNU/Linux >> Belajar Linux >  >> Linux

Cara terbaik untuk mentransfer file melalui LAN antara dua komputer Linux

Di lingkungan Linux, untuk keamanan dan kemudahan penggunaan, ssh adalah cara terbaik untuk melakukannya. SSH, SSHFS, SCP, dan SFTP seperti yang Anda daftarkan semuanya hanyalah layanan berbeda yang dibangun di atas protokol SSH. SCP sangat mudah digunakan, bekerja seperti CP tetapi Anda dapat memberikan nama pengguna dan mesin di jalurnya. Jadi, kita mungkin melakukan CP seperti cp ~/music/ ~/newmusic/ , tetapi kita dapat dengan mudah melakukan scp ~/music/ [email protected]:~/newmusic untuk mengirimkannya ke komputer bernama host. Itu saja - kita tidak perlu menyiapkan apa pun. Anda akan dimintai kata sandi akun di komputer lain jika Anda tidak memiliki sertifikat atau penyiapan autentikasi lainnya (scp membagikan setelan tersebut dengan ssh, tentu saja).

SFTP adalah alat yang memudahkan untuk melakukan banyak operasi pada sistem file jarak jauh - berfungsi seperti FTP, tetapi berjalan melalui SSH sehingga aman dan hanya memerlukan server SSH. man sftp akan memberi tahu Anda semua tentang cara menggunakannya. Saya tidak menggunakan SFTP hanya untuk memindahkan folder di antara dua mesin, ini lebih berguna saat Anda memiliki banyak operasi yang harus dilakukan, seperti jika Anda mengatur ulang file di komputer lain.

SSHFS hanya memperluas SFTP ke sistem file:ini memungkinkan Anda untuk memasang host virtual ke sistem file Anda, sehingga hal-hal jaringan terjadi secara transparan. SSHFS adalah untuk penyiapan semi permanen, bukan hanya transfer file satu kali. Dibutuhkan lebih banyak upaya untuk menyiapkannya, yang dapat Anda baca di situs web proyek.

Jika Anda perlu bekerja di lingkungan OS campuran, Samba menjadi taruhan terbaik Anda berikutnya. Windows dan OS X mendukung Samba sepenuhnya secara otomatis, dan Linux juga melakukannya meskipun terkadang sulit untuk digunakan.


Favorit pribadi saya untuk kasus di mana keamanan tidak penting adalah netcat + tar:

Untuk mengirim direktori, cd ke dalam direktori yang isinya ingin Anda kirimkan di komputer yang melakukan pengiriman dan lakukan:

tar -cz . | nc -q 10 -l -p 45454

Di komputer yang menerima konten, cd ke tempat Anda ingin konten muncul dan lakukan:

nc -w 10 $REMOTE_HOST 45454 | tar -xz

Ganti $REMOTE_HOST dengan ip / hostname komputer yang melakukan pengiriman. Anda juga dapat menggunakan port lain selain 45454 .

Apa yang sebenarnya terjadi di sini adalah bahwa komputer 'penerima' terhubung ke komputer pengirim pada port 45454 dan menerima konten tar'd dan gzip dari direktori, dan meneruskannya langsung ke tar (dan gzip) untuk mengekstraknya menjadi direktori saat ini.

Contoh singkat (menggunakan localhost sebagai host jarak jauh)

Komputer 1

[email protected]:~/nctest/a/mydir$ ls
file_a.txt  file_b.log
[email protected]:~/nctest/a/mydir$ tar -cz . | nc -q 10 -l -p 45454

Komputer 2

[email protected]:~/nctest/b$ ls
[email protected]:~/nctest/b$ nc -w 10 localhost 45454 | tar -xz
[email protected]:~/nctest/b$ ls
file_a.txt  file_b.log

Untuk pemindahan satu kali, scp direkomendasikan.

Tetapi jika Anda menemukan bahwa dir ini dapat berfungsi dan Anda perlu memindahkannya berkali-kali agar posisi lainnya diperbarui, maka Anda dapat menggunakan rsync (dengan ssh).

Karena rsync memiliki banyak argumen, saya biasanya memasukkannya ke dalam shell kecil jadi saya melakukannya dengan benar (setiap saat). Idenya adalah hanya mengirimkan hal-hal yang telah berubah sejak terakhir kali dijalankan.

#!/bin/bash

user="nisse"
host="192.168.0.33"

echo "Sync: /home/media/music/"
rsync --archive --delete -v --progress -e "ssh -l $user " /home/media/music/ $host:/home/media/music/

Ini akan memindahkan direktori bernama "/home/media/music/" dari komputer lokal ke komputer bernama 192.168.0.33, menggunakan pengguna "nisse". Dan hapus semua yang ada di target yang tidak ada di komputer lokal.


Linux
  1. Cara Mentransfer File Antara Dua Komputer menggunakan Perintah nc dan pv

  2. Mentransfer File dan Folder Antar Komputer dengan Aman Menggunakan Croc

  3. Bagaimana cara mentransfer file antara Linux dan Android dengan cara yang cepat dan andal?

  1. Cara Mengonfigurasi Server SAMBA Dan Mentransfer File Antara Linux &Windows

  2. Cara terbaik untuk mentransfer file melalui LAN antara dua komputer Linux

  3. Apa cara tercepat untuk menggabungkan dua atau lebih file di Linux?

  1. Cara Mentransfer File Antar Server di Linux menggunakan SCP dan FTP

  2. Linux – Bagaimana Cara Menghapus File yang Dibuat Antara Dua Kali?

  3. Alat Transfer File Terbaik di Linux