GNU/Linux >> Belajar Linux >  >> Linux

Perintah Linux SCP Dijelaskan:Salin &Transfer File dengan Aman {13 Contoh}

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

Linux
  1. 14 Contoh Perintah SCP untuk Mentransfer File dengan Aman di Linux

  2. Perintah SCP Linux – Cara Transfer File SSH dari Jarak Jauh ke Lokal

  3. Cara Mentransfer File dengan Aman Menggunakan SCP

  1. Salin file &direktori di Linux

  2. Cara menyalin file dengan aman antara host Linux menggunakan SCP dan SFTP

  3. Cara Mentransfer file dengan aman menggunakan Perintah SCP di Linux

  1. Cara Menggunakan Perintah FTP Linux untuk Mentransfer File

  2. Perintah cp Linux

  3. Bagaimana cara menggunakan perintah Rsync di linux?