SCP (secure copy) adalah utilitas baris perintah yang memungkinkan Anda untuk menyalin file dan direktori dengan aman di antara dua lokasi.
Dengan scp, Anda dapat menyalin file atau direktori:
- Dari sistem lokal Anda ke sistem jarak jauh.
- Dari sistem jarak jauh ke sistem lokal Anda.
- Antara dua sistem jarak jauh dari sistem lokal Anda.
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
@10.10.0.4's password: file.txt 100% 0 0.0KB/s 00:00
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.txt
dari 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.