Cara Aman Transfer File Antar Server Dengan SCP Linux

Apa itu SCP?

Perintah scp (secure copy) di sistem Linux digunakan untuk menyalin file antar server dengan cara yang aman. Perintah SCP atau salinan aman memungkinkan transfer file yang aman di antara host lokal dan host jarak jauh atau antara dua host jarak jauh. Ini menggunakan otentikasi dan keamanan yang sama seperti yang digunakan dalam protokol Secure Shell (SSH). SCP dikenal karena kesederhanaan, keamanan, dan ketersediaannya yang sudah diinstal sebelumnya.

Saat mentransfer data dengan scp, file dan kata sandi dienkripsi sehingga siapa pun yang mengintai lalu lintas tidak akan mendapatkan apa pun yang sensitif. Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan perintah scp melalui contoh-contoh praktis dan penjelasan terperinci dari opsi-opsi scp yang paling umum.

Sintaks Perintah SCP

Sebelum membahas cara menggunakan perintah scp, mari kita mulai dengan meninjau sintaks dasar.

Ekspresi utilitas scp mengambil bentuk berikut:

# scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • OPTION – opsi scp seperti cipher, konfigurasi ssh, port ssh, batas, salinan rekursif .. dll
  • [user@]SRC_HOST:]file1 – File sumber.
  • [user@]DEST_HOST:]file2 – File tujuan

File lokal harus ditentukan menggunakan jalur absolut atau relatif sementara nama file jarak jauh harus menyertakan spesifikasi pengguna dan host. SCP menyediakan sejumlah opsi yang mengontrol setiap aspek dari perilakunya. Opsi yang paling banyak digunakan adalah:

  • -P Menentukan port ssh host jarak jauh.
  • -p Mempertahankan modifikasi file dan waktu akses.
  • -q Gunakan opsi ini jika Anda ingin menekan progress meter dan pesan non-error.
  • -C Opsi ini akan memaksa scp untuk mengompres data saat dikirim ke mesin tujuan.
  • -r Opsi ini akan memberi tahu scp untuk menyalin direktori secara rekursif.

Sebelum Mulai

Perintah scp bergantung pada ssh untuk transfer data, sehingga diperlukan ssh key atau password untuk diautentikasi pada sistem jarak jauh.

Tanda titik dua (:) adalah bagaimana scp membedakan antara lokasi lokal dan jarak jauh.

Untuk dapat menyalin file, Anda setidaknya harus melihat izin read (membaca) pada file sumber, serta izin write (menulis) pada sistem target.

Hati-hati saat menyalin file yang memiliki nama dan lokasi yang sama di kedua sistem, scp akan menimpa file tanpa peringatan.

Saat mentransfer file besar, disarankan untuk menjalankan perintah scp di dalam sesi screen atau tmux agar memudahkan Anda dalam mengantisipasi hal yang tidak di inginkan.

Salin File dan Direktori Antara Dua Sistem Menggunakan SCP

Dengan menggunakan scp, pengguna linux dapat dengan mudah menyalin file dan directori pada sistem jarak jauh hanya dengan baris perintah. ikuti panduan berikut untuk menyalin file dan direktori dengan scp

Salin File Lokal ke Sistem Jarak Jauh dengan Perintah scp

Untuk menyalin file dari sistem lokal ke sistem jarak jauh, jalankan perintah berikut:

scp file.txt [email protected]:/remote/folder

Di sini, file.txt adalah nama file yang ingin kita salin, akun_jauh adalah nama pengguna untuk login di server jarak jauh, 10.10.0.4 adalah alamat IP server. Direktori /remote/folder adalah jalur ke direktori atau folder tempat Anda ingin menyalin file, jika Anda tidak menentukan direktori jarak jauh, file tersebut akan disalin ke direktori home pengguna jarak jauh.

Anda akan diminta memasukkan kata sandi pengguna dan proses transfer akan dimulai.

akun_jauh

Mengabaikan nama file dari lokasi tujuan menyalin file dengan nama asli. Jika Anda ingin menyimpan file dengan nama lain, Anda harus menentukan nama baru:

scp file.txt [email protected]:/remote/folder/namabaru.txt

Jika SSH pada host jarak jauh mendengarkan pada port selain dari default 22 maka Anda dapat menentukan port menggunakan argumen -P, semisal perintah berikut akan koneksi ke port 2322 karena SSH telah di ubah dari port 22 ke port 2322:

ssh -P 2322 file.txt [email protected]:/remote/folder

Perintah untuk menyalin direktori sama seperti ketika menyalin file. Satu-satunya perbedaan adalah bahwa Anda perlu menggunakan flag -r untuk rekursif.

Untuk menyalin direktori dari sistem lokal ke remote, gunakan opsi -r:

scp -r /local/directory [email protected]:/remote/folder

Salin File Jarak Jauh ke Sistem Lokal menggunakan Perintah scp

Untuk menyalin file dari jarak jauh ke sistem lokal, gunakan lokasi jarak jauh sebagai sumber dan lokasi lokal sebagai tujuan.

Misalnya untuk menyalin file bernama file.txt dari server jauh dengan ip 10.10.0.4 jalankan perintah berikut:

scp [email protected]:/remote/folder:/remote/file.txt /local/directory

Jika Anda belum menetapkan login SSH tanpa kata sandi (passwordless) ke mesin jarak jauh, Anda akan diminta untuk memasukkan kata sandi pengguna.

Salin File Antara Dua Sistem Jarak Jauh menggunakan Perintah scp

Tidak seperti rsync, saat menggunakan scp Anda tidak perlu masuk ke salah satu server untuk mentransfer file dari satu ke mesin jarak jauh lainnya.

Perintah berikut akan menyalin file /files/file.txtdari host remote host1.com ke direktori /files padahost2.com yang merupakan host remote.

scp [email protected]:/files/file.txt [email protected]:/files

Anda akan diminta memasukkan kata sandi untuk kedua akun jarak jauh. Data akan ditransfer langsung dari satu host jarak jauh ke yang lain.

Untuk merutekan lalu lintas melalui mesin yang mengeluarkan perintah, gunakan opsi -3:

scp -3 [email protected]:/files/file.txt [email protected]:/files

Kesimpulan

Dalam tutorial ini, Anda belajar cara menggunakan perintah scp untuk menyalin file dan direktori.

Anda mungkin juga ingin mengatur otentikasi berbasis kunci SSH dan terhubung ke server Linux Anda tanpa perlu memasukkan kata sandi.

Jika Anda secara teratur terhubung ke sistem yang sama, Anda dapat menyederhanakan alur kerja Anda dengan mendefinisikan semua koneksi Anda dalam file konfigurasi SSH.

Referensi

Cara Transfer File Secara Aman Dengan Perintah SCP – LinuxID

scp command in Linux with Examples – GeeksforGeeks

How to Use SCP Command to Securely Transfer Files | Linuxize

10 SCP Commands to Transfer Files/Folders in Linux (tecmint.com)