Cara Menggunakan Perintah scp di Linux

fatmawati achmad zaenuri/Shutterstock.com

Perintah scp membuat penyalinan file antar komputer Linux menjadi mudah dan aman. Ini menggunakan keamanan SSH, tetapi yang terbaik, ini sederhana. Jika Anda dapat menggunakan cp, Anda dapat menggunakan scp.

Protokol Salin Aman dan scp

Mari kita tentukan beberapa istilah: ada SCP dan ada scp. SCP huruf besar adalah singkatan dari Secure Copy Protocol. scp huruf kecil adalah singkatan dari secure cp. Dengan kata lain, SCP adalah protokol dan scp adalah program.

scp dirancang untuk menjadi sarana yang aman dan terjamin untuk menyalin file antara komputer Linux jarak jauh. Menggunakan SSH untuk membuat koneksi yang aman. SSH, atau shell aman, adalah protokol jaringan kriptografi yang sering digunakan untuk mengakses dan masuk ke komputer Linux jarak jauh. Pada distribusi Linux, fungsionalitas SSH disediakan oleh OpenSSH.

RELATEDCara Mengatur Desktop Jarak Jauh di Ubuntu

SCP agak lama, dan kekhawatiran telah ditayangkan mengenai penggunaannya di masa sekarang. Sejak OpenSSH versi 8.8, SCP telah dianggap usang. Implementasi modern dari scp default untuk menggunakan Secure File Transfer Protocol secara default. SSH masih digunakan untuk koneksi aman, tetapi transfer file ditangani oleh SFTP. Ini semua tidak terlihat dan terjadi secara ajaib di bawah tenda, dan sintaks scp tetap sama.

Program rsync lebih disukai daripada scp , tetapi Anda mungkin menemukan komputer yang tidak menginstal rsync, dan yang tidak Anda miliki hak akses root yang berarti Anda tidak dapat melanjutkan dan menginstalnya. Untuk menyalin file dari komputer ke komputer di jaringan mandiri, scp baik-baik saja. Agar scp berfungsi, Anda harus menjalankan SSH di semua komputer tempat Anda akan menyalin dan dari.

Advertisement

Untuk melihat versi OpenSSH yang terinstal di komputer Anda, ketik:

ssh -V

Menyalin File Tunggal

Seperti perintah cp standar, scp copy file dari lokasi sumber ke lokasi target. Untuk menyalin file ke komputer jarak jauh, Anda harus mengetahui alamat IP atau nama jaringan komputer jarak jauh. Anda juga harus memiliki kredensial untuk akun pengguna yang memiliki hak menulis untuk lokasi tujuan pengiriman file.

Untuk mengirim file bernama “sample.txt” ke komputer bernama “fedora-34” di jaringan lokal, sintaksnya adalah:

scp ./sample.txt [email protected]:/home/dave/Downloads/

Perintah terdiri dari:

scp: Perintah scp./sample.txt: File yang akan kita kirim . Ini ada di direktori saat ini.dave@: Akun pengguna di komputer jarak jauh yang akan kita kirimi file ke.fedora-34.local: Nama jaringan komputer jarak jauh.:/home/dave/Downloads/: Lokasi untuk menyalin file ke komputer jarak jauh. Perhatikan tanda titik dua “:” yang memisahkan nama komputer dan jalurnya.

Anda akan diminta memasukkan sandi untuk akun di komputer jarak jauh, lalu file disalin.

Jika Anda ingin nama file berbeda di komputer jarak jauh, Anda dapat menambahkan nama file ke jalur target. Untuk menyalin file yang sama dan menamakannya “berbeda-file.txt”, gunakan sintaks ini:

scp ./sample.txt [email protected]:/home/dave/Downloads/different-file.txt

Perintah scp akan menimpa file yang ada secara diam-diam, jadi berhati-hatilah saat menyalin file. Jika file sudah ada di komputer target dengan nama yang sama dengan file yang Anda salin, file tersebut akan ditimpa dan hilang.

Advertisement

Jika komputer target tidak menggunakan port SSH default 22, Anda dapat menggunakan -P ( nomor port) untuk memberikan nomor port yang sesuai.

Mengambil File Tunggal

Untuk menyalin file dari server jauh, cukup tempatkan server jarak jauh sebagai sumber, dan letakkan jalur lokal di mana Anda ingin file disalin sebagai target. Kita akan menyalin file bernama “development-plan.md” dari komputer jarak jauh ke direktori saat ini di komputer lokal.

scp [email protected]:/home/dave/Downloads/development-plan.md .

Jika Anda menambahkan nama file ke jalur lokal, file akan disalin dan diberi nama itu.

scp [email protected]:/home/dave/Downloads/development-plan.md ./dp-1.md

Filenya adalah disalin tetapi diganti namanya menjadi nama file yang ditentukan.

ls -hl *.md

Menyalin Banyak File

Menyalin banyak file di kedua arah itu mudah. Anda dapat membuat daftar file sumber sebanyak yang Anda suka. Di sini, kami menyalin dua file penurunan harga dan file CSV.

scp ./dp-1.md ./dp-2.md ./dp-3.csv [email protected]:/home/dave/Downloads /

Ketiga file disalin ke komputer jarak jauh. Anda juga dapat menggunakan wildcard. Perintah ini melakukan hal yang sama persis seperti perintah terakhir.

scp ./dp. [email protected]:/home/dave/Downloads/

Menyalin Direktori Secara Rekursif

Opsi -r (rekursif) memungkinkan Anda menyalin seluruh pohon direktori dengan satu perintah. Kami telah menempatkan dua file dalam direktori yang disebut “data” dan membuat direktori yang disebut “CSV” di dalam direktori “data”. Kami menempatkan file CSV di direktori “data/CSV”.

Advertisement

Perintah ini menyalin file dan membuat ulang struktur direktori pada komputer jarak jauh.

scp -r ./data [email protected]:/home/dave/Downloads/

Menyalin File Antar Server Jarak Jauh

Anda bahkan dapat menginstruksikan scp untuk menyalin file dari satu server jarak jauh ke server jarak jauh lainnya. Sintaksnya cukup sederhana. Anda memberikan nama akun dan alamat jaringan dari server sumber dan nama akun dan alamat jaringan dari server target. File disalin dari server sumber dan disalin ke lokasi di server target.

Meskipun sintaksnya sederhana, memastikan semua yang lain sudah ada membutuhkan sedikit lebih banyak pemikiran. Jelas, lokasi Anda mencoba menyalin file ke server jauh harus dapat diakses oleh akun pengguna yang Anda tentukan di baris perintah. Dan akun pengguna tersebut harus memiliki izin menulis di lokasi tersebut.

Prasyarat yang lebih halus adalah bahwa akses SSH harus diatur antara komputer lokal Anda dan komputer sumber, dan juga antara server sumber dan target. Pastikan Anda dapat menggunakan SSH untuk login ke server target dari server sumber. Jika Anda tidak dapat melakukannya, scp tidak akan dapat terhubung.

RELATEDCara Membuat dan Menginstal Kunci SSH Dari Linux Shell

Menyiapkan kunci SSH sehingga Anda dapat menggunakan akses yang diautentikasi tetapi tanpa kata sandi sejauh ini merupakan metode yang disukai. Menggunakan kata sandi menjadi sangat cepat berantakan, dan—karena Anda dimintai kata sandi untuk setiap akun pengguna—ini mencegah Anda mengotomatiskan proses sepenuhnya dengan skrip.

Advertisement

Kami menyiapkan kunci SSH untuk akun pengguna yang kami gunakan di setiap remote server. Ini memberikan akses SSH tanpa batas ke server lain, untuk kedua pengguna tersebut. Hal ini memungkinkan kita untuk mentransfer file di kedua arah, menggunakan dua akun pengguna tersebut.

Untuk menyalin file dari akun pengguna “davem” di komputer Manjaro ke akun “dave” di komputer Fedora, melalui perintah scp yang dikeluarkan dari Ubuntu lokal kami komputer, sintaksnya adalah:

scp [email protected]:/home/davem/man. [email protected]:/home/dave/

Kami diam-diam kembali ke baris perintah. Tidak ada indikasi apa pun terjadi. Bekerja pada premis bahwa tidak ada berita adalah berita baik, scp hanya melaporkan kesalahan untuk penyalinan jarak jauh ke jarak jauh ini. Saat memeriksa komputer Fedora, kita dapat melihat bahwa file dari komputer Manjaro telah disalin dan diterima.

Secara default, file disalin langsung dari komputer sumber ke komputer target. Anda dapat menggantinya menggunakan opsi -3 (tiga arah).

Dengan opsi ini, file ditransfer dari target ke sumber, melalui komputer lokal Anda. Agar itu terjadi, perlu ada akses SSH tanpa batas dari komputer lokal Anda ke komputer target.

scp -3 [email protected]:/home/davem/man. [email protected]:/home/dave/

Masih belum ada indikasi apa pun yang terjadi, bahkan ketika menyalurkan file melalui komputer lokal Anda. Bukti dari puding, tentu saja, adalah untuk memeriksa komputer target.

Opsi Lain

The -p (mempertahankan atribut file) akan menyimpan tanda pembuatan, kepemilikan, dan akses file asli pada file yang ditransfer. Mereka akan memiliki metadata yang sama dengan file asli di komputer sumber.

Advertisement

Jika Anda melihat pesan kesalahan, coba ulangi perintah dan gunakan tanda -v (verbose) untuk melihat informasi mendetail tentang upaya transfer. Anda harus dapat menemukan titik kegagalan dalam output.

Opsi -C (kompres) mengompresi file saat disalin dan mendekompresinya saat diterima. Ini adalah sesuatu yang berasal dari era komunikasi modem yang lambat antar komputer. Mengurangi ukuran muatan dapat mengurangi waktu transmisi.

Saat ini, waktu yang dibutuhkan untuk mengompresi dan mendekompresi file kemungkinan akan memakan waktu lebih lama daripada perbedaan antara transmisi terkompresi dan tidak terkompresi. Tetapi karena scp paling baik digunakan untuk menyalin file antar komputer di LAN yang sama, kecepatan transmisi seharusnya tidak terlalu menjadi perhatian.

TERKAIT:Cara Mencadangkan Sistem Linux Anda Dengan rsync

Itulah berita seputar Cara Menggunakan Perintah scp di Linux, semoga bermanfaat. Disadur dari HowToGeek.com.

Scroll to Top