Cara Menyinkronkan File/Direktori Menggunakan Rsync dengan Port SSH Non-standar


Hari ini kita akan membahas tentang cara menyinkronkan file menggunakan rsync dengan port SSH non-standar. Anda mungkin bertanya-tanya mengapa kita perlu menggunakan port SSH non-standar? Itu karena alasan keamanan. Semua orang tahu 22 adalah port default SSH.

Jadi, Anda wajib mengubah nomor port default SSH Anda ke nomor lain yang sangat sulit ditebak. Dalam kasus seperti itu, bagaimana Anda menyinkronkan file/folder Anda dengan server jarak jauh? Jangan khawatir, Ini tidak terlalu sulit. Di sini kita akan melihat cara menyinkronkan file dan folder menggunakan rsync dengan port SSH non-standar.

Seperti yang mungkin Anda ketahui, rsync, juga dikenal sebagai Remote Sync, adalah alat yang cepat, serbaguna, dan canggih yang dapat digunakan untuk menyalin dan menyinkronkan file/direktori dari lokal ke lokal, atau lokal ke host jarak jauh. Untuk detail lebih lanjut tentang rsync, periksa halaman manual:

man rsync

Atau lihat panduan kami sebelumnya dari tautan di bawah.

  1. Rsync: 10 Contoh Praktis Perintah Rsync di Linux

Ubah Port SSH menjadi Port Non-standar

Seperti kita ketahui, Secara default rsync menggunakan port SSH default 22 untuk menyinkronkan file melalui host lokal ke host jarak jauh dan sebaliknya. Kita harus mengubah port SSH server jarak jauh kita untuk memperketat keamanan.

Untuk melakukannya, buka dan edit file konfigurasi SSH /etc/ssh/sshd_config:

vi /etc/ssh/sshd_config 

Temukan baris berikut. Batalkan komentar dan ubah nomor port pilihan Anda. Saya menyarankan Anda untuk memilih nomor mana pun yang sangat sulit ditebak.

Pastikan Anda menggunakan nomor unik yang tidak digunakan oleh layanan yang ada. Periksa artikel netstat ini untuk mengetahui layanan mana yang berjalan pada port TCP/UDP mana.

Misalnya disini saya menggunakan nomor port 1431.

[...]
Port 1431
[...]

Simpan dan tutup file.

Dalam sistem berbasis RPM seperti RHEL, CentOS, dan Scientific Linux 7, Anda harus mengizinkan port baru melalui firewall atau router Anda.

firewall-cmd --add-port 1431/tcp
firewall-cmd --add-port 1431/tcp --permanent

Pada RHEL/CentOS/Scientific Linux 6 dan yang lebih baru, Anda juga harus memperbarui izin selinux untuk mengizinkan port tersebut.

iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1431 -j ACCEPT
semanage port -a -t ssh_port_t -p tcp 1431

Terakhir, mulai ulang layanan SSH untuk menerapkan perubahan.

systemctl restart sshd        [On SystemD]
OR
service sshd restart          [On SysVinit]

Sekarang mari kita lihat cara menyinkronkan file menggunakan rsync dengan port non-standar.

Cara Rsync dengan Port SSH non-standar

Jalankan perintah berikut dari terminal untuk menyinkronkan file/folder menggunakan Rsync dengan port ssh non-standar.

Sintaks :
rsync -arvz -e 'ssh -p <port-number>' --progress --delete user@remote-server:/path/to/remote/folder /path/to/local/folder

Untuk tujuan tutorial ini, saya akan menggunakan dua sistem.

Detail Sistem Jarak Jauh:

IP Address: 192.168.1.103
User name: tecmint
Sync folder: /backup1

Detail Sistem Lokal:

Operating System: Ubuntu 14.04 Desktop
IP Address: 192.168.1.100
Sync folder: /home/sk/backup2

Mari kita sinkronkan konten folder /backup1 server jarak jauh ke folder sistem lokal saya /home/sk/backup2/.

sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email :/backup1 /home/sk/backup2
Contoh Keluaran
[email 's password: 
receiving incremental file list
backup1/
backup1/linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
        752,876 100%   13.30MB/s    0:00:00 (xfr#1, to-chk=2/4)
backup1/linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb
      9,676,510 100%   12.50MB/s    0:00:00 (xfr#2, to-chk=1/4)
backup1/linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
     56,563,302 100%   11.26MB/s    0:00:04 (xfr#3, to-chk=0/4)

sent 85 bytes  received 66,979,455 bytes  7,050,477.89 bytes/sec
total size is 66,992,688  speedup is 1.00.

Mari kita periksa isi folder /backup1/ di server jauh.

sudo ls -l /backup1/
Contoh Keluaran
total 65428
-rw-r--r-- 1 root root  9676510 Dec  9 13:44 linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb
-rw-r--r-- 1 root root   752876 Dec  9 13:44 linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
-rw-r--r-- 1 root root 56563302 Dec  9 13:44 linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb

Sekarang, mari kita periksa isi folder /backup2/ di sistem lokal.

ls /home/sk/backup2/
Contoh Keluaran
backup1

Seperti yang Anda lihat pada keluaran di atas, konten /backup1/ telah berhasil disalin ke direktori /home/sk/backup2/ sistem lokal saya.

Verifikasi isi folder /backup1/:

ls /home/sk/backup2/backup1/
Contoh Keluaran
linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb            
linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb

Lihat, folder sistem jarak jauh dan lokal memiliki file yang sama.

Kesimpulan

Menyinkronkan file/folder menggunakan Rsync dengan SSH tidak hanya mudah, tetapi juga cepat dan aman. Jika Anda berada di balik firewall yang membatasi port 22, jangan khawatir. Ubah saja port default dan sinkronkan file seperti seorang profesional.