Pendahuluan
SCP (Protokol Salinan Aman) adalah protokol jaringan yang digunakan untuk menyalin file/folder dengan aman antara sistem Linux (Unix) di jaringan. Untuk mengirim, gunakan scp
utilitas baris perintah, varian yang lebih aman dari perintah cp (salin).
SCP melindungi data Anda saat menyalin melalui koneksi SSH (Secure Shell) dengan mengenkripsi file dan kata sandi. Oleh karena itu, bahkan jika lalu lintas dicegat, informasi tetap dienkripsi.
Gunakan SCP ketika:
- Menyalin file dari host lokal ke host jarak jauh.
- Menyalin file dari host jarak jauh ke host lokal.
- Menyalin file antara dua server jarak jauh.
Panduan ini menunjukkan cara menyalin file menggunakan perintah SCP dan menyertakan 13 contoh perintah yang digunakan dalam praktik .
Prasyarat
- Login shell yang aman di server
- (opsional) Akses root pada klien dan server
- Login shell yang aman di sistem server
Sintaks Perintah SCP
Sintaks untuk menggunakan scp
perintahnya adalah:
scp [option] [[email protected]_host:path/to/source/file] [[email protected]_host:target/path]
Jika Anda menghilangkan:
- nama_pengguna host (atau target), perintah default ke pengguna saat ini.
- jalur/ke/sumber (atau target/jalur ) dari perintah, program mencari (atau menyalin) file secara lokal.
Saat bekerja dengan file jarak jauh, selalu tentukan spesifikasi pengguna dan host.
Pastikan untuk menggunakan akun dengan akses baca ke file yang ingin Anda salin di sistem sumber. Selain itu, Anda perlu menggunakan akun dengan akses tulis ke direktori tempat file akan disimpan di sistem tujuan.
Opsi Perintah SCP
Anda dapat menambahkan banyak scp
opsi perintah ke perintah untuk menyesuaikan dan mempercepat proses. Opsi ditambahkan sebagai atribut tepat setelah scp
perintah.
Setiap opsi memiliki bentuk karakter tunggal yang pendek dan padanan deskriptif yang lebih panjang.
-1 | Gunakan protokol 1. |
-2 | Gunakan protokol 2. |
-4 | Hanya gunakan alamat IPv4. |
-6 | Hanya gunakan alamat IPv6. |
-B | Jalankan dalam mode batch, nonaktifkan semua kueri untuk input pengguna. |
-b buffer_size | Tentukan ukuran buffer yang digunakan untuk transfer data. Jika tidak ditentukan, gunakan default - 32768 byte. |
-C | Aktifkan kompresi. |
-c cipher | Pilih sandi untuk enkripsi data. Jika tidak ditentukan, SCP menggunakan default - 'AnyStdCipher'. |
-D debug_level | Setel tingkat debug (1, 2, 3, atau 99). |
-d | Salin file, hanya jika direktori tujuan sudah ada. |
-F file | Tentukan file konfigurasi alternatif untuk SSH . |
-h | Tampilkan daftar opsi perintah. |
-i file | Tentukan file dari mana untuk membaca identitas untuk otentikasi kunci publik. |
-l limit | Batasi bandwidth (tentukan batas di Kbit/s). |
-o ssh_option | Setel opsi ke SSH dalam format ssh_config. |
-P port | Tentukan port yang akan dihubungkan. Jika tidak ditentukan, SCP menggunakan port 22. |
-q | Jalankan SCP dalam mode senyap. |
-Q | Nonaktifkan menampilkan statistik transfer file apa pun. |
-r | Menyalin secara rekursif. |
-S program | Gunakan program tertentu untuk koneksi enkripsi. |
-u | Hapus file sumber setelah salinan selesai. |
-v | Aktifkan mode verbose, yang menyetel level debug ke 2. |
Contoh Perintah SCP
Untuk memahami utilitas yang berguna ini dengan lebih baik, lihat scp
berikut ini contoh perintah.
Menyalin File dari Server Lokal ke Server Jarak Jauh
Pada contoh di bawah, kami menyalin file sampel dari host lokal ke server jauh:
scp Desktop/sample_example.txt [email protected]:/home/remote_dir
Perintah tersebut mencakup informasi berikut:
Desktop/sample_example.txt
- nama file yang disalin dan lokasinya.[email protected]
- nama pengguna dan alamat IP server jarak jauh./home/remote_dir
– lokasi penyimpanan file yang disalin.
Menyalin File dari Server Jarak Jauh ke Host Lokal
Untuk menyalin file sampel dari host jarak jauh ke host lokal, kami menjalankan:
scp 147.182.143.27:/home/remote_dir/sample_example.txt home/Desktop
Informasi yang diberikan adalah
[email protected]
- nama pengguna dan alamat IP server jarak jauh dari tempat file saat ini berada./home/remote_dir/sample_example.txt
- nama file yang disalin dan lokasinya.home/Desktop
– lokasi penyimpanan file yang disalin.
Menyalin File dari Satu Server Jarak Jauh ke Server Jarak Jauh lainnya
Selanjutnya, mari kita lihat cara menyalin file dari satu server jauh ke server jauh lainnya menggunakan scp
perintah:
scp [email protected]:/home/remote_dir/sample_example.txt [email protected]:home/Desktop
Perintah di atas menentukan:
[email protected]
- nama pengguna dan alamat IP server jarak jauh dari tempat file saat ini berada./home/remote_dir/sample_example.txt
- nama file yang disalin dan lokasinya.[email protected]
– nama pengguna dan alamat IP server jarak jauh tempat kita ingin menyalin file.home/Desktop
– lokasi penyimpanan file yang disalin di server jauh.
Menyalin Banyak File dengan SCP
SCP memungkinkan Anda untuk menyalin banyak file dalam satu perintah. Misalnya, perintah di bawah ini menyalin dua file dari host lokal ke server jauh:
scp example/sample1.txt example/sample2.txt [email protected]:/home/remote_dir
Ini mencakup informasi berikut:
example/sample1.txt
– nama dan lokasi file pertama yang disalin.example/sample2.txt
– nama dan lokasi file kedua yang disalin.[email protected]
- nama pengguna dan alamat IP server jarak jauh yang menerima file./home/remote_dir
- lokasi penyimpanan file yang disalin di server jauh.
Menyalin Folder dari Host Lokal ke Server Jarak Jauh Secara Rekursif
Selain file, scp
juga dapat dengan aman menyalin folder ke atau dari server jarak jauh. Perintah berikut menunjukkan cara menyalin direktori sampel ke server jauh secara rekursif:
scp -r example [email protected]:/home/remote_dir
Perintah tersebut meliputi:
-r
– opsi untuk menyalin folder secara rekursif.example
– nama folder yang sedang disalin dari server lokal.[email protected]
- nama pengguna dan alamat IP dari server jauh yang menerima folder tersebut./home/remote_dir
- lokasi penyimpanan folder yang disalin di server jauh.
Menyalin File dengan SCP Menggunakan Port Tertentu
Secara default, SCP menggunakan port 22. Namun, jika sistem jarak jauh dikonfigurasi untuk mendengarkan permintaan SSH pada port yang berbeda, gunakan –P
beralih untuk menentukan port.
Misalnya, perintah berikut menyalin file dari server lokal ke server jauh, menggunakan port 2222:
scp -P 2222 Desktop/sample_example.txt [email protected]:/home/remote_dir
Komponen dari perintah di atas adalah:
-P 2222
– gunakan port 2222.Desktop/sample_example.txt
- nama file yang ingin Anda salin dan lokasinya.[email protected]
- nama pengguna dan alamat IP server jarak jauh yang menerima file./home/remote_dir
- lokasi penyimpanan file yang disalin di server jauh.
Menyalin File dengan SCP dalam Mode Diam
Menjalankan scp
perintah dalam mode senyap berarti menonaktifkan pengukur kemajuan dan pesan non-kesalahan agar tidak ditampilkan di output. Untuk melakukannya, Anda perlu menambahkan -q
pilihan:
scp -q Desktop/sample_example.txt [email protected]:/home/remote_dir
Menyalin File dengan SCP dalam Mode Verbose
Anda dapat menjalankan scp
dalam mode verbose dengan menambahkan -v
opsi yang menyetel tingkat debug ke 2. Melakukannya, mencetak informasi debug dalam output yang dapat membantu Anda saat memecahkan masalah.
Tambahkan -v
opsi setelah scp
untuk mengaktifkan mode verbose, seperti pada contoh di bawah ini:
scp -v Desktop/sample_example.txt [email protected]:/home/remote_dir
Salin File dengan SCP dan Batasi Bandwidth
Opsi bermanfaat lainnya adalah membatasi bandwidth yang digunakan oleh scp
perintah dengan menambahkan -l
parameter. Ini sangat berguna saat menyalin file besar untuk mencegah SCP menguras bandwidth.
Saat membatasi bandwidth, Anda perlu menentukan angka dalam Kilobit/s. Ingatlah bahwa 1 byte =8 bit. Oleh karena itu, jika Anda ingin membatasi bandwidth untuk SCP hingga 100 KB/s, nilai untuk l dalam kbps adalah 800 (100 x 8), seperti pada perintah di bawah ini:
scp -l 800 Desktop/sample_example.txt [email protected]:/home/remote_dir
Menyalin File dengan SCP Lebih Cepat
Untuk mempercepat transfer file dari satu server ke server lain, tambahkan -C
opsi yang mengompresi file saat sedang ditransfer. Setelah file mencapai tujuannya, file akan kembali ke ukuran normalnya.
scp -C Desktop/sample_example.txt [email protected]:/home/remote_dir
Menyalin File dengan SCP Menggunakan Cipher Tertentu
Secara default, SCP menggunakan AES-128 untuk mengenkripsi file. Namun, -c
opsi ini memungkinkan Anda untuk mengubah sandi yang akan digunakan SCP untuk mengenkripsi file.
Misalnya, untuk meningkatkan keamanan, Anda dapat beralih ke enkripsi 3des, seperti pada contoh berikut:
scp -c 3des Desktop/sample_example.txt [email protected]:/home/remote_dir
Menyalin File dengan SCP Menggunakan IPv4 atau IPv6
Anda dapat memaksa SCP untuk hanya menggunakan IPv4 atau IPv6 tergantung pada kebutuhan Anda dengan menambahkan -4 atau -6 atribut.
Untuk menyalin file sampel dari server lokal ke host jarak jauh hanya menggunakan IPv6, Anda akan menjalankan:
scp -6 Desktop/sample_example.txt [email protected]:/home/remote_dir
Menyalin File dengan Atribut File Pelestarian SCP
Untuk menyalin file menggunakan SCP dan mempertahankan atribut file seperti modifikasi dan waktu akses, mode, dan izin, gunakan -p
pilihan:
scp -p Desktop/sample_example.txt [email protected]:/home/remote_dir