Menyalin Berkas di Server Tanpa Menggunakan Root

 Dapatkan update terbaru Linuxku.com di kanal Telegram https://telegram.me/linuxkudotcom

Anda mungkin pernah mengalami pada saat menggunakan peladen (server) baik itu dedicated server ataupun VPS, dengan menyalin beberapa berkas konfigurasi yang mana berkas tersebut hanya dapat disalin dengan akun root atau Anda ingin mencandangkan (backup) semua berkas website Anda yang berada di direktori /var/www/html. Seperti yang telah diketahui bahwa direktori itu hanya bisa diakses oleh root atau user yang masuk dalam jajaran sudo, wheel.

Login dengan akun root di peladen (server) sangatlah berbahaya, maka hampir semua tutorial menyarankan agar memblokir root untuk akses SSH demi keamaan, lalu menggantikannya dengan akun biasa yang dikhususkan hanya bisa login di peleden tersebut, dengan bantuan sudo untuk mengakses atau menyunting berkas yang mana hanya root yang bisa melakukan hal itu.

Dalam artikel ini, penulis mencoba memberikan sebuah tips-trik cara menyalin berkas yang mana berksa tersebut membutuhkan akses root untuk bisa disalin dengan bantuan aplikasi rysnc semua dapat teratasi dengan mudah tanpa perlu banyak konfigurasi.

Sebelum menggunakan rsync pastikan di peladen (server) Anda sudah terpasang ssh-askpass, karena ssh-askpass inilah yang digunakan sebagai jembatan antara localhost dengan peladen.

Pemasangan ssh-askpass

Untuk pemasangan ssh-askpass di sini saya hanya mencontohkan bagi pengguna peladen (server) dengan tiga macam distro Linux yang umum digunakan sebagai sistem operasi di peladen yakni Centos, Debian dan Ubuntu.

Adapun cara pemasangan ssh-askpas pada Centos adalah sebagai berikut:

 $ sudo yum install openssh-askpass  

Untuk distro Debian dan Ubuntu adalah sebagai berikut:

 $ sudo apt-get install ssh-askpass

Tahap Praktek

Jika Anda sudah selesai memasang ssh-askpass langkah selanjutnya yakni tahap praktisnya.

Contoh kasus.
Anda ingin mencandangkan semua berkas yang ada di /var/www/html ke localhost Anda. Caranya adalah sebagai berikut:

 $ rsync -chavzPe 'ssh -X' --stats 
--rsync-path='SUDO_ASKPASS=/usr/bin/ssh-askpass sudo -A rsync' 
[email protected]:/var/www/html /home/udin/

Penjelasan Perintah:

c = checksum, adalah untuk mengecek kesamaan antara berkas dalam peladen dengan lokal jika keduanya tidak sama maka ambil yang terbaru.
h = human readable, adalah untuk mengetahui besaran satuan berkas dalam jumlah KB, MB, ataupun GB.
a = archive mode / equal, berkas harus serupa antara peladen dengan lokal.
v = verbose, untuk menampilakan informasi tentang apa saja yang dilakukan oleh rsync.
z = compress file during transfer, yakni berfungsi untuk menghemat bandwidth pada saat transfer.
P = progress, selain verbose metode progress juga dibutuhkan untuk mengetahui informasi progress dari rysnc tersebut.
e = execute / remote ssh, mengekseksi perintah ssh dalam rsync sama halnya seperti Anda mengeksekusi ssh secara langsung.

[email protected]:/var/www/html/ adalah sumber dari peladen.
/home/udin/ adalah tujuan ke lokal.
–rsync-path=’SUDO_ASKPASS=/usr/bin/ssh-askpass sudo -A rsync’ adalah path dimana ssh-askpass disimpan dalam peladen Anda.

Kemudian, nanti Anda akan dimintai kata sandi (password) sudo Anda, karena bukan sebagai root.

Masukan saja kata sandi sudo Anda yang ada di peladen tersebut, dan kemudian Anda bisa menyalin semua berkas yang mana berkas itu hanya dapat disalin jika menggunakan akun root.


Semoga tips-trick ini bermanfaat.

Yakin Ngga Mau Diskusi ?

Yuk diskusi cerdas. Gunakan nama asli agar komentar Anda disetujui.