Cara menggunakan scp

Untuk melakukan transfer data antar VPS ada berbagai macam metode, bisa secara tidak langsung dengan wget atau terlanjur tingkat lanjut dengan rsync. 😀 Nah… ada kok satu cara lagi yang langsung mengirimkan data terenkripsi antar server yakni scp atau Secure Copy Protocol. Dan di Linux sudah tersedia secara default jadi tinggal digunakan saja.

Yang pasti anda tinggal menyiapkan apa username dan password untuk server tujuan, dan alamat IPnya. Dan scp ini memanfaatkan protokol SSH untuk transfer filenya dan pada port 22 mengikuti defaultnya. Sedangkan format syntax perintah scp seperti ini:

scp file/direktori_asal username@alamat_ip:direktori_tujuan

Memang semudah itu kok nanti pemakaiannya. 🙂

Misal kita ingin mengambil sebuah file saja dari luar ke dalam:

scp root@192.168.1.98:/home/servernesia/kunci_rumah.txt /home/

Dan kalau kita ingin mengirimkan data ya tinggal dibalik saja:

scp /home/kunci_rumah.txt root@192.168.1.98:/home/servernesia/

Bila ini pertama kalinya anda menyambungkan maka VPS anda akan menyimpan kode identifikasi VPS satunya:

The authenticity of host '192.168.1.98 (192.168.1.98)' can't be established.
ECDSA key fingerprint is dd:e4:f8:ee:35:57:ea:6b:91:7f:5d:31:15:1b:ab:a4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.98' (ECDSA) to the list of known hosts.

Dan kemudian akan diminta mengisikan kata sandi user yang digunakan. Kalau sudah maka proses transfer akan berlangsung.

Bagaimana kalau ingin mentransfer bukan file saja tapi direktori dan seisinya? Tetap mudah kok, tinggal pakai parameter -r untuk rekursif:

scp -r direktori_asal root@192.168.1.98:/home/servernesia/direktori_tujuan

Jadi secara default scp menggunakan algoritam enkripsi AES untuk transfer datanya dan ini sudah aman. Tapi kalau anda ingin sedikit mempercepat prosesnya maka bisa mengganti enkripsi yang digunakan dengan parameter -c (untuk cipher) ke yang lebih lemah kekuatannya. Dari percobaan sih RC4.

scp -c arcfour /home/kunci_kantor.pdf root@192.168.1.98:/home/servernesia/

Ingat, ini lebih cepat karena proses enkripsinya direndahkan tingkat keamanannya. Kalau anda waspada terhadap privasi data sebaiknya dipertimbangkan lagi.

Terakhir dan tampaknya jarang yang tahu, bahwa kita bisa mempercepat proses transfer data scp dengan mengkompresinya. Parameternya adalah -C (huruf kapital dan maksudnya Compression).

scp -C -r /home/servernesia/ root@192.168.1.98:/home/servernesia/

Jadi kalau ada yang bisa dikompres jadi lebih kecil akan dilakukan on-the-fly saat itu juga. Cocok kalau nantinya banyak file bertipe teks.

Oh ya, tidak bisa kita menyisipkan password user kedalam scp. Jadi kalau mau dipakai dalam cron ya pakai sshpass atau menggunakan SSH Key.

Sekian dulu. Semoga bermanfaat. 🙂

8 pemikiran pada “Cara menggunakan scp

    • Betul mbak, kurang lebih seperti ini kalau portnya di 1234:

      scp -P 1234 /home/kunci_rumah.txt root@192.168.1.98:/home/servernesia/
  1. Mas Chandra,

    Saya berhasil migrasi website wordpess dari antara vps menggunakan scp dan berhasil online di domain yg sama, tapi masalahnya adalah gambar dalam post tidak muncul, hanya text. Meskinpun semua gambar tersebut ada dalam media (gak kehapus).

    Kira-kira apa ya masalahnya ?

    Makasih sebelumnya.
    Subhan

    • Di direktori wp-content ada semua mas? Mas coba perhatikan hasil ls -l apakah ownership dan permissions sudah ikut web servernya.

  2. Saya udah cek mas, sepertinya ada masalah dengan caching. Saya pakai cloudflare, saya non aktifkan, hanya manajemen DNS nya yg sy pakai. Sekarang gambar dalam pos udah muncul.

    Thanks

  3. Sore Mas,

    Saya mau buat script yang terjadwal di centos untuk transfer file/copy file/apalah istilahnya ke ftp, apakah ada artikel khususnya Mas ?
    Terima Kasih.

    • Oh saya belum bahas cara FTP di Linux mas. Mungkin dalam waktu dekat ini saya buatkan tutorialnya.

      Mas bisa gunakan ini untuk proses upload file lewat FTP:

      ftp -in -u ftp://nama_user:kata_sandi@alamat_server/lokasi/direktori file_diupload

      Kemudian kombinasikan dengan cron agar dilakukan otomatis.

Tinggalkan komentar