Misalkan Anda ingin mentransfer beberapa file antar server di sistem Linux. Ada banyak cara untuk menyelesaikan tugas tersebut, tetapi jika prioritas Anda adalah mentransfer file dengan aman, Anda memiliki beberapa opsi. Solusi termudah adalah menggunakan perintah scp atau secure copy untuk mentransfer file Anda tanpa mengkhawatirkan keamanan. Pada artikel ini, kami akan menjelaskan cara menggunakan transfer file dengan aman menggunakan perintah scp di sistem Linux Anda.
Transfer File dengan Perintah scp di Linux (2023)
Apa itu Perintah scp di Linux
Ketika datang untuk mentransfer file melalui jaringan yang aman, perintah scp bisa sangat berguna. Itu singkatan dari Secure Copy Protocol dan mentransfer file dan direktori antara dua sistem melalui koneksi SSH (Secure Shell). Dengan ssh, Anda dapat yakin akan keamanan file Anda karena dienkripsi secara default. Dalam istilah yang lebih sederhana, perintah scp adalah versi yang lebih aman dari perintah cp, yang dapat Anda baca selengkapnya di artikel perintah Terminal Linux kami.
Cara Menggunakan Perintah scp: Sintaks & Opsi
Sebelum kita dapat mentransfer file melalui scp, mari kita lihat sintaks dan opsi perintahnya di sini:
scp
Memahami sintaks:
- Pertama, <[email protected]_ip_address:path/to/source/file> menentukan sistem ‘sumber’ dari mana Anda perlu mentransfer file/direktori Anda.
- Kedua, <[email protected]_ip_address:target/path> menentukan sistem ‘target’ tempat Anda ingin mentransfer file/direktori.
Jika Anda meninggalkan salah satu dari parameter di atas, perintah scp di Linux pertama-tama akan mencari file tersebut dan kemudian menyalin file tersebut secara lokal. Beberapa opsi untuk dipasangkan dengan perintah adalah:
PilihanTujuan-PMenentukan port mana yang terhubung dengan sistem host. Jika dihilangkan, maka akan menggunakan port 22 secara default.-pMenjaga waktu modifikasi, waktu akses, dan mode dari file asli saat disalin ke sistem target.-rMenyalin seluruh direktori ke sistem target secara rekursif.-Digunakan untuk menghubungkan sistem sumber dan sistem tujuan melalui sistem proxy (jump host).-3ketika bendera ini digunakan, ia menyalin file ke sistem target serta sistem lokal-4memaksa perintah scp untuk hanya menggunakan alamat IPv4.-6memaksa perintah scp untuk hanya menggunakan alamat IPv6.
Cara Menyalin File Menggunakan Perintah scp
Sebelum menggunakan perintah scp di Linux, ada beberapa prasyarat yang perlu Anda penuhi pada sistem host dan target:
- ssh harus diinstal
- akses root atau pengguna mana pun dengan hak istimewa sudo
Salin File dari Host Lokal ke Target Jarak Jauh
Jika Anda memiliki file yang perlu Anda transfer dari sistem lokal Anda ke target jarak jauh, Anda perlu menggunakan sintaks berikut:
scp
Jika sintaks di atas tampak rumit, sebuah contoh akan menghapusnya:
scp test.txt [email protected]:/home/remote2/Dokumen/
Dalam contoh di atas:
- test.txt adalah nama file yang akan ditransfer dan terletak di direktori saat ini di sistem lokal.
- test adalah nama pengguna pada sistem target.
- 139.144.11.105 adalah alamat IP dari sistem target.
- /home/remote2/Documents/ adalah lokasi pada sistem target tempat file yang ditransfer akan disimpan.
Salin File dari Host Jarak Jauh ke Target Lokal
Jika Anda perlu mentransfer file dari host jarak jauh ke mesin lokal Anda, gunakan sintaks perintah scp berikut di sistem Linux Anda:
scp
Misalnya, Anda perlu mentransfer file bernama test.py dari server jauh tempat Anda bekerja, gunakan perintah ini:
scp [email protected]:/home/test/test1.py ~/test1.py
Dalam contoh ini:
- test adalah nama pengguna host jarak jauh.
- 10.10.11.113 adalah alamat IP host jarak jauh.
- /home/test/test1.py adalah jalur file yang akan ditransfer dari host jarak jauh.
- ~/test1.py adalah nama file setelah dipindahkan ke mesin lokal dan disimpan di direktori home.
Mentransfer File dari Satu Host Jarak Jauh ke Target Jarak Jauh Lainnya
Dengan perintah scp, Anda tidak hanya dapat mentransfer file antara sistem lokal Anda dan mesin jarak jauh, tetapi juga mentransfer file antara dua sistem jarak jauh. Namun, sebelum Anda dapat mentransfer file dari satu sistem jarak jauh ke sistem jarak jauh lainnya, disarankan untuk membuat kunci ssh pribadi dan kunci ssh publik di sistem sumber dan menyimpan salinan kunci publik di sistem tujuan.
Umumnya, pengguna mengeluh tentang kesalahan “Verifikasi kunci host gagal” saat mentransfer file antara dua sistem jarak jauh. Untuk melewati kesalahan, gunakan kunci ssh sebagai tindakan tambahan. Kami telah menjelaskan bagaimana Anda dapat melakukannya di sini:
1. Hasilkan pasangan kunci publik/pribadi di server sumber dengan perintah ini:
ssh-keygen -t
2. Untuk algoritme enkripsi, Anda dapat menggunakan “rsa”, yang merupakan algoritme yang paling umum digunakan atau algoritme pilihan Anda lainnya.
3. Kemudian, Anda akan diminta untuk memilih lokasi penyimpanan ssh key. Anda dapat menyimpannya di lokasi manapun pilihan Anda atau di lokasi default.
4. Untuk kata sandi, Anda dapat memasukkan apa pun pilihan Anda atau membiarkannya kosong dengan menekan Enter.
5. Lalu, salin kunci publik ke server tujuan menggunakan perintah di bawah ini. Dengan ini, Anda bahkan dapat masuk ke sistem tujuan tanpa kata sandi menggunakan ssh.
ssh-copy-id
Catatan: metode masuk tanpa kata sandi hanya akan berfungsi untuk pengguna yang kunci ssh-nya telah Anda buat.
6. Setelah Anda membuat dan menyimpan kunci ssh di server jarak jauh, gunakan sintaks perintah scp ini untuk bertukar file antara dua sistem jarak jauh yang menjalankan Linux:
scp
Katakanlah Anda perlu mentransfer file bernama test.txt dari satu host jarak jauh ke penerima jarak jauh lainnya, gunakan perintah:
scp [email protected]:/home/test1/test.txt [email protected]:/home/remote2/Documents/test1.txt
Dalam contoh ini:
- remote1 adalah nama pengguna di host pengirim jarak jauh
- 10.10.11.113 adalah alamat IP dari host pengirim jarak jauh
- /home/test1/test.txt adalah path ke file yang akan dikirim
- remote2 adalah nama pengguna di target penerima jarak jauh
- 10.11.27.111 adalah alamat IP target penerima jarak jauh
- /home/remote2/Documents/test1.txt adalah nama dan jalur yang akan disimpan agar file dapat diterima.
Transfer Banyak File Menggunakan Perintah scp
Mentransfer banyak file satu per satu bisa menjadi tugas yang membosankan bagi siapa pun. Sebagai gantinya, Anda dapat menggunakan sintaks di bawah ini untuk bertukar file menggunakan perintah scp di Linux:
scp
Misalnya – Misalkan Anda perlu mengirim empat file, termasuk test1.txt, test2.py, test3.sh, dan test4.c, ke penerima jarak jauh, Anda dapat menggunakan perintah di bawah ini:
scp -P 22 test1.txt test2.py test3.sh test4.c [email protected]:/home/remote_1/Dokumen
Mari kita pahami bagaimana perintah dalam contoh bekerja dan apa fungsinya:
- -p 2222 digunakan untuk menentukan untuk terhubung melalui port 22
- test1.txt test2.py test3.sh test4.c adalah nama file yang akan ditransfer
- remote_1 adalah nama pengguna dari sistem penerima
- 10.10.11.113 adalah alamat IP penerima
- /home/remote_1/Documents mengacu pada jalur untuk menyimpan file yang diterima.
Anda bahkan dapat menggunakan wildcard untuk mengirim banyak file dengan ekstensi yang sama seperti yang ditunjukkan di bawah ini:
scp
Misalnya, jika Anda perlu mengirim semua file .py ke server jarak jauh, gunakan perintah scp di bawah ini di Terminal Linux:
scp *.py [email protected]:/rumah/jarak jauh_1/
Di Sini,
- *.py menandakan semua file python
- remote1 adalah nama pengguna penerima
- 10.10.11.113 adalah alamat IP penerima
- /home/remote_1/ adalah lokasi untuk menyimpan file yang diterima
Pertanyaan yang Sering Diajukan
Apakah transfer file SCP aman?
Secure Copy Protocol atau scp adalah protokol yang didasarkan pada teknologi SSH dan menggunakan enkripsi dan autentikasi untuk pertukaran file antara dua host. Ini memastikan keamanan dan integritas data lengkap antara kedua host.
Apakah SCP lebih aman daripada SFTP?
Protokol SCP dan SFTP setara dalam hal keamanan. Keuntungan utama menggunakan scp dibandingkan SFTP adalah kecepatan transfer cepat yang sangat berguna dalam jaringan latensi tinggi.
Transfer File dengan Aman Menggunakan Perintah scp di Linux
Pada suatu saat, setiap pengguna perlu bertukar beberapa file melalui jaringan. Perintah scp memudahkan untuk mentransfer file dengan aman dan efisien bahkan di jaringan latensi tinggi. Tentunya, mengetahui berbagai opsi dan sintaks scp juga bisa bermanfaat. Anda juga dapat merujuk ke panduan kami tentang cara mengganti nama file di Linux dan cara menghapus file di Linux untuk lebih meningkatkan keterampilan manajemen file Anda di OS. Kami harap artikel ini membantu Anda mempelajari cara menggunakan perintah scp untuk mentransfer file di komputer Linux. Jika Anda menghadapi masalah saat menggunakan perintah, beri tahu kami di bagian komentar.