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 [email protected]:/home/servernesia/kunci_rumah.txt /home/
Dan kalau kita ingin mengirimkan data ya tinggal dibalik saja:
scp /home/kunci_rumah.txt [email protected]:/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 [email protected]:/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 [email protected]:/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/ [email protected]:/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. 🙂
apa perintahnya sama dengan rsync kalau portnya bukan 22 dan penggunaan sshkey?
Betul mbak, kurang lebih seperti ini kalau portnya di 1234:
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 hasills -l
apakah ownership dan permissions sudah ikut web servernya.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
Hmm… menarik ini mas. Berarti kemungkinan ada konflik cache dari CloudFlare dengan yang dilayankan oleh Nginx.
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:
Kemudian kombinasikan dengan cron agar dilakukan otomatis.