SCP (Salin Aman) adalah alat baris perintah di Linux dan sistem mirip Unix yang digunakan untuk mentransfer file dan direktori di seluruh sistem dengan aman melalui jaringan. Ketika kita menggunakan perintah scp untuk menyalin file dan direktori dari sistem lokal kita ke sistem jarak jauh maka di backend itu membuat koneksi ssh ke sistem jarak jauh. Dengan kata lain, kita dapat mengatakan bahwa scp menggunakan mekanisme keamanan SSH yang sama di backend, perlu kata sandi atau kunci untuk otentikasi.
Dalam tutorial ini, kita akan membahas perintah scp di linux dengan contoh praktisnya.
Sintaks perintah scp:
# scp
# scp
Sintaks pertama dari perintah scp mendemonstrasikan cara menyalin file atau direktori dari sistem lokal ke host target di bawah folder tertentu.
Sintaks kedua dari perintah scp menunjukkan bagaimana file dari host target disalin ke sistem lokal.
Beberapa opsi yang paling banyak digunakan dalam perintah scp tercantum di bawah ini,
- -C Aktifkan Kompresi
- -i File identitas atau kunci pribadi
- -l membatasi bandwidth saat menyalin
- -P nomor port ssh dari host target
- -p Mempertahankan izin, mode, dan waktu akses file saat menyalin
- -q Menekan pesan peringatan SSH
- -r Menyalin file dan direktori secara rekursif
- -v keluaran verbose
Mari lompat ke contoh sekarang!!!!
Contoh 1) Salin file dari sistem lokal ke sistem jarak jauh menggunakan scp
Mari kita asumsikan kita ingin menyalin paket jdk rpm dari sistem Linux lokal kita ke sistem remote (172.20.10.8) menggunakan perintah scp, gunakan perintah berikut,
[[email protected] ~]$ scp jdk-linux-x64_bin.rpm [email protected]:/opt[email protected]'s password:jdk-linux-x64_bin.rpm 100% 10MB 00[[dilindungi email] ~]$
Perintah di atas akan menyalin file paket jdk rpm ke sistem jarak jauh di bawah folder /opt.
Contoh 2) Salin file dari Sistem jarak jauh ke sistem lokal menggunakan scp
Misalkan kita ingin menyalin file dari sistem jarak jauh ke sistem lokal kita di bawah folder /tmp, jalankan perintah scp berikut,
[[email protected] ~]$ scp [email protected]:/root/Technical-Doc-RHS.odt /tmp[email protected]'s password:Technical-Doc-RHS.odt 100% 1109KB 31,8 MB s 00:00[[email protected] ~]$ ls -l /tmp/Technical-Doc-RHS.odt-rwx------. 1 pkumar pkumar 1135521 19 Okt 11:12 /tmp/Technical-Doc-RHS.odt[[email protected] ~]$
Contoh 3) Output Verbose saat mentransfer file menggunakan scp (-v)
Dalam perintah scp, kita dapat mengaktifkan output verbose menggunakan opsi -v, menggunakan output verbose kita dapat dengan mudah menemukan apa yang sebenarnya terjadi di latar belakang. Ini menjadi sangat berguna dalam men-debug koneksi , otentikasi dan masalah konfigurasi .
[dilindungi email] ~]$ scp -v jdk-linux-x64_bin.rpm [dilindungi email]:/optExecuting:program /usr/bin/ssh host 172.20.10.8, root pengguna, perintah scp -v -t / optOpenSSH_7.8p1, OpenSSL 1.1.1 FIPS 11 Sep 2018debug1:Membaca data konfigurasi /etc/ssh/ssh_configdebug1:Membaca data konfigurasi /etc/ssh/ssh_config.d/05-redhat.confdebug1:Membaca data konfigurasi /etc/crypto-policies /back-ends/openssh.configdebug1:/etc/ssh/ssh_config.d/05-redhat.conf baris 8:Menerapkan opsi untuk *debug1:Menghubungkan ke port 172.20.10.8 [172.20.10.8] 22.debug1:Koneksi dibuat. …………debug1:Metode autentikasi berikutnya:sandi[kata sandi dilindungi email]:
Contoh 4) Mentransfer banyak file ke sistem jarak jauh
Beberapa file dapat disalin / ditransfer ke sistem jarak jauh menggunakan perintah scp sekaligus, dalam perintah scp tentukan beberapa file yang dipisahkan oleh spasi, contoh ditunjukkan di bawah ini
[[email protected] ~]$ scp install.txt index.html jdk-linux-x64_bin.rpm \ [email protected]:/mnt[email protected]'s password:install.txt 0 diproteksiContoh 5) Mentransfer file melalui dua host jarak jauh
Menggunakan perintah scp kita dapat menyalin file dan direktori antara dua host jarak jauh, misalkan kita memiliki sistem Linux lokal yang dapat terhubung ke dua sistem Linux jarak jauh, jadi dari sistem linux lokal saya, saya dapat menggunakan perintah scp untuk menyalin file di kedua sistem ini,
Sintaks:
# scp [dilindungi email]_hosts1:/
[dilindungi email]_host2:/ Contoh ditunjukkan di bawah ini,
# scp [dilindungi email]:~/backup-Oct.zip [dilindungi email]:/tmp# ssh [dilindungi email] "ls -l /tmp/backup-Oct.zip"-rwx----- -. 1 root root 747438080 19 Okt 12:02 /tmp/backup-Oct.zipContoh 6) Salin file dan direktori secara rekursif (-r)
Gunakan opsi -r dalam perintah scp untuk menyalin seluruh direktori secara rekursif dari satu sistem ke sistem lainnya, contoh ditunjukkan di bawah ini,
[[email protected] ~]$ scp -r Unduhan [email protected]:/optGunakan perintah di bawah ini untuk memverifikasi apakah folder Unduhan disalin ke sistem jarak jauh atau tidak,
[[dilindungi email] ~]$ ssh [dilindungi email] "ls -ld /opt/Downloads"drwxr-xr-x. 2 root root 75 19 Okt 12:10 /opt/Downloads[[email protected] ~]$Contoh 7) Tingkatkan kecepatan transfer dengan mengaktifkan kompresi (-C)
Dalam perintah scp, kita dapat meningkatkan kecepatan transfer dengan mengaktifkan kompresi menggunakan opsi -C, maka secara otomatis akan mengaktifkan kompresi pada sumber dan dekompresi pada host tujuan.
[email protected] ~]$ scp -r -C Unduhan [email protected]:/mntDalam contoh di atas, kami mentransfer direktori Unduh dengan kompresi diaktifkan.
Contoh 8) Batasi bandwidth saat menyalin ( -l )
Gunakan opsi '-l' dalam perintah scp untuk membatasi penggunaan bandwidth saat menyalin. Bandwidth ditentukan dalam Kbit/s, contoh ditunjukkan di bawah ini,
[[email protected] ~]$ scp -l 500 jdk-linux-x64_bin.rpm [email protected]:/varContoh 9) Tentukan port ssh yang berbeda saat scp ( -P)
Mungkin ada beberapa skenario di mana port ssh diubah pada host tujuan, jadi saat menggunakan perintah scp kita dapat menentukan nomor port ssh menggunakan opsi ‘-P’.
[[email protected] ~]$ scp -P 2022 jdk-linux-x64_bin.rpm [email protected]:/varPada contoh di atas, port ssh untuk remote host adalah “2022”
Contoh 10) Mempertahankan izin, mode, dan waktu akses file saat menyalin (-p)
Gunakan opsi “-p” dalam perintah scp untuk mempertahankan izin, waktu akses, dan mode saat menyalin dari sumber ke tujuan
[[email protected] ~]$ scp -p jdk-linux-x64_bin.rpm [email protected]:/var/tmpjdk-linux-x64_bin.rpm 100% [s 13.5 MB ] ~]$Contoh 11) Mentransfer file dalam mode senyap ( -q) di scp
Gunakan opsi '-q' dalam perintah scp untuk menekan kemajuan transfer, peringatan, dan pesan diagnostik ssh. Contoh ditunjukkan di bawah ini,
[[email protected] ~]$ scp -q -r Unduhan [email protected]:/var/tmp[[email protected] ~]$Contoh 12) Gunakan Identifikasi file di scp saat mentransfer ( -i )
Di sebagian besar lingkungan Linux, otentikasi berbasis kunci lebih disukai. Dalam perintah scp kami menentukan file mengidentifikasi atau file kunci pribadi menggunakan opsi '-i', contoh ditunjukkan di bawah ini,
[[email protected] ~]$ scp -i my_key.pem -r Unduhan [email protected]:/rootPada contoh di atas, “my_key.pem” adalah file identitas atau file kunci pribadi.
Contoh 13) Gunakan file 'ssh_config' yang berbeda di scp ( -F)
Ada beberapa skenario di mana Anda menggunakan jaringan yang berbeda untuk terhubung ke sistem Linux, mungkin beberapa jaringan berada di belakang server proxy, jadi dalam hal ini kita harus memiliki ssh_config yang berbeda berkas.
File ssh_config yang berbeda dalam perintah scp ditentukan melalui opsi '-F', contoh ditunjukkan di bawah ini
[[email protected] ~]$ scp -F /home/pkumar/new_ssh_config -r Downloads \ [email protected]:/root[email protected]'s password:jdk-linux-x64_bin.rpm 100% 10MB MB/s 00:00backup-Oct.zip 100% 713MB 41.9MB/dtk 00:17index.html [] [] 0 0:00 MB/dtk 00:00backup-Oct.zipContoh 14) Gunakan Cipher Berbeda dalam perintah scp (-c)
Secara default, scp menggunakan cipher 'AES-128' untuk mengenkripsi file. Jika Anda ingin menggunakan cipher lain dalam perintah scp maka gunakan opsi ‘-c’ diikuti dengan nama cipher,
Misalkan kita ingin menggunakan cipher ‘3des-cbc’ dalam perintah scp saat mentransfer file, jalankan perintah scp berikut
[[email protected] ~]# scp -c 3des-cbc -r Unduhan [email protected]:/rootGunakan perintah di bawah ini untuk membuat daftar ssh dan scp cipher,
[[email protected] ~]# ssh -Q cipher localhost | tempel -d , -s -3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,[email protected],\aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected] ,\[email protected][[email protected] ~]#Itu saja dari tutorial ini, untuk mendapatkan detail lebih lanjut tentang perintah scp, silakan merujuk halaman manualnya. Silakan bagikan umpan balik dan komentar Anda di bagian komentar di bawah.
Baca Juga : 11 Contoh Perintah 'df' di Linux
Cara Menggunakan htop untuk Memantau Proses Sistem Linux 18 Contoh perintah 'lsof' cepat untuk Linux GeeksLinux