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:
- scp:Perintah lama yang tidak digunakan lagi
- rsync:Perintah populer untuk sinkronisasi file
- sshfs:Memasang direktori jarak jauh melalui SSH
- 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.