GNU/Linux >> Belajar Linux >  >> Linux

Cara Mentransfer File dengan Aman Menggunakan SCP

SCP adalah singkatan dari secure copy. Ini adalah utilitas baris perintah Linux yang digunakan untuk menyalin file dan direktori antar server dengan aman. SCP menggunakan protokol SSH, sehingga memerlukan kata sandi atau otentikasi yang lebih sedikit antar server. Dengan SCP, Anda dapat menyalin file antara dua host jarak jauh dari sistem lokal Anda, serta menyalin file antara host lokal dan jarak jauh.

Dalam tutorial ini, kami akan menunjukkan cara menggunakan perintah SCP dengan contoh.

Prasyarat

  • VPS Ubuntu 18.04 baru di Platform Cloud Atlantic.net.
  • Kata sandi root yang dikonfigurasi di server Anda.

Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 18.04 sebagai sistem operasi dengan setidaknya 1GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Ubuntu 18.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

apt-get update -y

1. Sintaks SCP

Sintaks dasar dari perintah SCP ditunjukkan di bawah ini:

scp [opsi] [email protected]:/file_or_directory [email protected]:/directory

pengguna: Nama pengguna.
source-ip: Alamat IP sistem tempat Anda ingin menyalin file atau direktori.
ip tujuan: Alamat IP sistem tujuan sistem.

Beberapa opsi yang digunakan dalam perintah scp tercantum di bawah ini:

-P: Tentukan nomor port ssh dari host tujuan.
-r: Digunakan untuk menyalin file dan direktori secara rekursif.
-v: Digunakan untuk menampilkan keluaran verbose selama transfer file.
-C: Digunakan untuk mengaktifkan kompresi file.
-i: Tentukan kunci SSH.
-l: Digunakan untuk membatasi bandwidth saat menyalin.
-p: Digunakan untuk mempertahankan izin, mode, dan waktu akses file saat menyalin.

2. Menyalin File dari Host Lokal ke Remote

Jika Anda ingin menyalin file bernama /etc/rc.local dari localhost ke remote host (172.20.10.03) di direktori /mnt, jalankan perintah berikut:

scp /etc/rc.local [email protected]:/mnt/

Anda akan melihat output berikut:

[email protected]'s password:rc.local                                                                           >      > 

Jika Anda ingin menyalin banyak file (dalam contoh ini kita akan menggunakan /etc/fstab dan /etc/hosts, dan salin ke remote host (172.20.10.3) ke direktori /mnt), jalankan perintah berikut:

scp /etc/fstab /etc/hosts [email protected]:/mnt/

Anda akan melihat output berikut:

[email protected]'s Password:fstab 100%628 0.6kb/s 00:00 Host 100%249 0.2kb/s 00:00

3. Menyalin File dan Direktori Secara Rekursif

Anda dapat menggunakan opsi rekursif -r dengan SCP untuk menyalin seluruh direktori dari satu sistem ke sistem lainnya.

Misalnya, untuk menyalin direktori bernama /var/log/apache2 dari localhost ke remote host (172.20.10.3) di direktori /mnt secara rekursif, jalankan perintah berikut:

scp -r /var/log/apache2 [email protected]:/mnt/

Anda akan melihat output berikut:

[email protected]'s Password:error.log 100%0 0.0kb/s 00:00 Access.log.3.gz 100%61KB 61.3KB/s 00:00 Other_vhosts_access.log 100%0 0.0kb/s 00:00 Access.log.4.gz 100% 317 0.3kb/s 00:00 error.log.3.gz 100% 1622 1.6kb/s 00:00 error.log.1 100% 2352 2.3KB/S 00 :00 Access.log 100% 0 0,0kb/s 00:00 Access.log.1 100% 1287 1.3KB/S 0 0:00 Access.log.2.gz 100%239 0.2kb/s 00:00 error.log.2.gz 100%246 0.2kb/s 00:00 error.log.5.gz 100%1471 1.4KB/ s   00:00   error.log.4.gz                                                         2.2                            2.2     100% 2296  >

Anda juga dapat menggunakan opsi -v dengan SCP untuk menampilkan keluaran verbose selama proses penyalinan:

scp -vr /var/log/apache2 [email protected]:/mnt/

4. Menyalin File dari Remote ke Host Lokal

Jika Anda ingin menyalin file bernama /etc/hostname dari remote host (172.20.10.03) ke localhost di direktori /opt, jalankan perintah berikut:

contoh [email protected]:/etc/hostname /opt/

Anda akan melihat output berikut:

[email protected]'s password:hostname                                                                               6            > 

5. Menyalin File dari satu Host Jarak Jauh ke Host Jarak Jauh lainnya

Untuk menyalin file dan direktori antara dua host jarak jauh, Anda perlu mengonfigurasi otentikasi berbasis kunci SSH antara kedua host jarak jauh.

Setelah mengonfigurasi otentikasi berbasis kunci, salin direktori bernama /var/log dari satu host jarak jauh (172.20.10.3) ke host jarak jauh lainnya (172.20.10.4) di direktori /mnt, jalankan perintah berikut:

scp -r [email protected]:/var/log [email protected]:/mnt/

6. Membatasi Penggunaan Bandwidth Saat Menyalin

Anda dapat menggunakan opsi -l dengan SCP untuk membatasi bandwidth selama proses penyalinan.

Misalnya, untuk menyalin file bernama google-chrome-stable_current_amd64.deb dari localhost ke host jarak jauh (172.20.10.3) di direktori /opt dan membatasi bandwidth hingga 1000 KB/s (1000×8), jalankan perintah berikut:

scp -l 8000 /home/vyom/Downloads/google-chrome-stable_current_amd64.deb  [email protected]:/opt/

Anda akan melihat output berikut:

[email protected]'s password:google-chrome-stable_current_amd64.deb                                                             01 MB 

7. Tentukan Port Tertentu dengan SCP

Dalam beberapa kasus, port SSH berbeda pada host tujuan. Dalam hal ini, Anda dapat menggunakan opsi -P untuk menentukan port SSH.

Misalnya, untuk menyalin file bernama /etc/hosts di sistem lokal ke host jarak jauh (172.20.10.3) di direktori /mnt menggunakan port 8088, jalankan perintah berikut:

scp -P 8088 /etc/hosts [email protected]:/mnt/

8. Mengaktifkan Kompresi Saat Menyalin

Anda dapat menggunakan opsi -C dengan SCP untuk mengaktifkan kompresi pada sumber dan dekompresi pada host tujuan. Ini dapat meningkatkan kecepatan transfer pada file besar.

Misalnya, untuk menyalin direktori /var/log/nginx pada host lokal ke host jarak jauh (172.20.10.3) di direktori /mnt dengan kompresi, jalankan perintah berikut:

scp -r -C /var/log/nginx [email protected]:/mnt/

Anda akan melihat output berikut:

[email protected]'s Password:error.log 100%0 0.0kb/s 00:00 Access.log.3.gz 100%217 0.2kb/s 00:00 error.log.1 100%974 1.0KB /s 00:00 Access.log 100%0 0.0kb/s 00:00 Access.log.1 100%90 0.1kb/s 00:00 Access.log.2.gz 100%239 0.2kB/s 00:00

9. Pertahankan Izin, Mode, dan Waktu Akses File Saat Menyalin

Anda dapat menggunakan opsi -p dengan SCP untuk mempertahankan izin, waktu akses, dan mode selama proses penyalinan.

Misalnya, untuk menyalin file bernama magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 pada host lokal ke host jarak jauh (172.20.10.3) di direktori /mnt dan mempertahankan izin, waktu akses, dan mode, jalankan perintah berikut:

scp -p /home/vyom/Downloads/magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 [email protected]:/mnt/

Anda akan melihat output berikut:

[email protected]'s password:magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2                                  5,9                      02 

Kesimpulan

Dalam panduan di atas, Anda mempelajari cara menggunakan SCP untuk mentransfer file dan direktori dengan aman dari satu server ke server lain. Mulailah dengan SCP di akun VPS Hosting dengan Atlantic.Net hari ini!


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

  2. Mentransfer File dan Folder Antar Komputer dengan Aman Menggunakan Croc

  3. Cara Mentransfer File Antar Server di Linux menggunakan SCP dan FTP

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

  2. Cara Mentransfer File di Linux dengan SCP dan Rsync

  3. Cara mentransfer file dengan aman menggunakan sftp (termasuk contoh)

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

  2. Cara menyalin banyak file secara bersamaan menggunakan scp

  3. Menggunakan scp untuk mentransfer file .txt daftar file