GNU/Linux >> Belajar Linux >  >> Linux

4 Cara untuk Mentransfer File Antara Sistem Jarak Jauh dan Lokal Melalui SSH

Cepat atau lambat, Anda akan menemukan diri Anda dalam situasi di mana Anda harus mengunggah file ke server jauh melalui SSH atau menyalin file darinya.

Ada berbagai cara Anda dapat mentransfer file melalui SSH. Saya akan membahas metode berikut di sini:

  1. scp:Perintah lama yang tidak digunakan lagi
  2. rsync:Perintah populer untuk sinkronisasi file
  3. sshfs:Memasang direktori jarak jauh melalui SSH
  4. klien sftp:alat GUI untuk mengakses file melalui SFTP

Agar transfer file berhasil melalui SSH, Anda perlu

  • untuk memiliki akses SSH antara dua mesin
  • untuk mengetahui username dan password pada mesin remote
  • Alamat IP atau nama host (pada subnet yang sama) dari mesin jarak jauh

Selain itu, mari kita lihat metode untuk menyalin file antar sistem jarak jauh melalui SSH.

Metode 1:Gunakan perintah scp untuk menyalin file melalui SSH

Saya telah membaca bahwa scp akan ditinggalkan. Namun, ini adalah alat favorit saya untuk mentransfer file antar sistem melalui SSH. Mengapa? Karena sintaksnya mirip dengan perintah cp.

Mari kita lihat cara menggunakan perintah scp.

Menyalin file dari mesin jarak jauh ke mesin lokal Anda

Berikut skenarionya. Anda ingin menyalin file dari sistem Linux jarak jauh ke sistem yang sedang login.

Berikut adalah sintaks umum yang menyalin file dari direktori home pengguna pada sistem jarak jauh ke direktori saat ini dari sistem login lokal Anda.

scp [email protected]_address:/home/username/filename .

Apakah Anda melihat kesamaan dengan perintah cp? Hampir sama hanya saja Anda harus menentukan nama pengguna dan alamat ip dengan titik dua (:).

Sekarang, izinkan saya menunjukkan kepada Anda contoh dunia nyata dari perintah ini.

Pada contoh di atas, saya menyalin file remote.txt dari /home/abhishek/my_file direktori pada sistem jarak jauh ke direktori mesin lokal saat ini.

Ini akan memberi Anda petunjuk bahwa Anda harus mengetahui lokasi file yang tepat pada sistem jarak jauh. Penyelesaian tab tidak berfungsi pada sistem jarak jauh.

Menyalin file dari mesin lokal Anda ke mesin jarak jauh

Skenarionya sedikit berubah di sini. Dalam hal ini, Anda mengirim file lokal ke sistem jarak jauh melalui SSH menggunakan scp.

Ini adalah sintaks umum yang akan menyalin nama file ke direktori home nama pengguna pada sistem jarak jauh.

scp filename [email protected]_address:/home/username

Pada contoh di atas, saya menyalin local.txt file dari direktori saat ini ke direktori home pengguna abhishek pada sistem jarak jauh.

Kemudian saya masuk ke sistem jarak jauh untuk menunjukkan bahwa file tersebut benar-benar telah disalin.

Anda juga dapat menyalin direktori

Ingat saya bilang saya suka scp karena kesamaannya dengan perintah cp?

Seperti perintah cp, Anda juga dapat menggunakan scp untuk menyalin direktori melalui SSH. Sintaksnya mirip dengan perintah cp juga. Anda hanya perlu menggunakan -r pilihan.

scp -r source_dir [email protected]_address:/home/username/target_dir

Anda dapat melakukan lebih banyak hal dengannya. Baca beberapa contoh perintah scp lainnya dalam tutorial ini:

Metode 2:Gunakan rsync untuk menyalin file dan direktori melalui SSH

Karena scp tidak digunakan lagi, rsync adalah alat terbaik berikutnya untuk menyalin file antara sistem jarak jauh melalui SSH. Sebenarnya, ini lebih baik daripada scp dalam banyak hal.

Sintaks perintahnya sama dengan scp. Versi rsync yang lebih lama harus menggunakan rsync -e ssh tapi bukan itu masalahnya lagi.

Menyalin file dari mesin jarak jauh ke mesin lokal Anda

Katakanlah Anda ingin menyalin file dari direktori home pengguna pada sistem jarak jauh ke direktori saat ini dari sistem login lokal Anda.

rsync [email protected]_address:/home/username/filename .

Mari kita ambil contoh yang sama yang Anda lihat dengan scp. Saya menyalin file remote.txt dari /home/abhishek/my_file direktori pada sistem jarak jauh ke direktori mesin lokal saat ini.

Menyalin file dari mesin lokal Anda ke mesin jarak jauh

Berikut adalah sintaks umum yang akan menyalin file ke direktori home nama pengguna pada sistem jarak jauh.

rsync filename [email protected]_address:/home/username

Saatnya melihat contoh dunia nyata. Saya menyalin local.txt file dari direktori saat ini ke direktori home pengguna abhishek pada sistem jarak jauh.

Bagaimana dengan menyalin direktori dengan rsync?

Itu sama. Cukup gunakan -r opsi dengan rsync untuk menyalin seluruh direktori melalui SSH antara sistem jarak jauh.

rsync -r source_dir [email protected]_address:/home/username/target_dir

Lihatlah contoh ini. Saya menyalin seluruh direktori my_file dari sistem jarak jauh ke sistem lokal.

rsync adalah alat serbaguna. Ini pada dasarnya adalah alat untuk 'menyinkronkan secara rekursif' konten antara dua direktori dan cukup populer untuk membuat pencadangan otomatis.

Metode 3:Menggunakan SSHFS untuk mengakses file dari sistem jarak jauh melalui SSH

Ada juga SSHFS (SSH Filesystem) yang dapat digunakan untuk mengakses file dan direktori jarak jauh. Namun, ini sangat tidak nyaman hanya untuk menyalin file.

Dalam metode ini, Anda memasang direktori jarak jauh di sistem lokal Anda. Setelah di-mount, Anda dapat menyalin file antara direktori yang di-mount dan sistem lokal.

Anda mungkin perlu menginstal sshfs pada sistem lokal Anda terlebih dahulu menggunakan manajer paket distribusi Anda.

Di Debian dan Ubuntu, Anda dapat menggunakan perintah berikut:

sudo apt install sshfs

Setelah Anda menginstal sshfs di sistem Anda, Anda dapat menggunakannya untuk memasang direktori jarak jauh. Akan lebih baik untuk membuat direktori khusus untuk titik pemasangan.

mkdir mount_dir

Sekarang pasang direktori yang diinginkan pada mesin jarak jauh dengan cara ini:

sshfs [email protected]_address:path_to_dir mount_dir

Setelah dipasang, Anda dapat menyalin file ke direktori ini atau dari direktori ini seolah-olah itu ada di mesin lokal Anda sendiri.

cp local_file mount_dir

Ingatlah bahwa Anda telah memasang file ini. Setelah pekerjaan Anda selesai, Anda juga harus melepasnya:

umount mount_dir

Berikut adalah contoh di mana saya memasang my_file direktori dari sistem jarak jauh ke remote_dir direktori pada sistem lokal. Saya menyalin remote.txt file ke sistem lokal dan kemudian melepas direktori.

Metode 4:Gunakan klien SFTP berbasis GUI untuk mentransfer file antar sistem jarak jauh

Sebagai upaya terakhir, Anda dapat menggunakan klien FTP untuk mentransfer file antara sistem jarak jauh dan lokal.

FileZilla adalah salah satu klien FTP lintas platform yang paling populer. Anda dapat dengan mudah menginstal di sistem lokal Anda.

Setelah terinstal, buka File->Pengelola Situs dan tambahkan detail sistem jarak jauh seperti alamat IP, nomor port SSH, nama pengguna dan kata sandi.

Setelah Anda terhubung, Anda dapat melihat tampilan jendela terpisah yang menunjukkan sistem file lokal di sebelah kiri dan sistem file jarak jauh di sebelah kanan.

Untuk mentransfer file, drag dan drop file dari kiri ke kanan atau kanan ke kiri. Bilah kemajuan muncul di bagian bawah.

Metode mana yang Anda sukai?

Baiklah! Saya menunjukkan berbagai baris perintah dan metode GUI yang dapat digunakan untuk menyalin file melalui SSH.

Sekarang terserah Anda untuk memutuskan metode mana yang akan digunakan di sini. Beri komentar tentang metode pilihan Anda untuk mentransfer file melalui SSH.


Linux
  1. Mentransfer File dan Folder Antar Komputer dengan Aman Menggunakan Croc

  2. Menggunakan Protokol SFTP untuk Mentransfer File Antara Mesin Lokal dan Jarak Jauh

  3. Perbedaan Antara /opt Dan /usr/local?

  1. Gunakan Scp Untuk Mentransfer File Dari Direktori Lokal X Ke Direktori Jarak Jauh Y?

  2. Salin file dengan SCP dan Rsync

  3. Cara Mentransfer File di Linux dengan SCP dan Rsync

  1. Cara Mentransfer File Antara Mesin Lokal dan Jarak Jauh Menggunakan Protokol SFTP

  2. Gunakan perangkat melalui SSH?

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