اليوم، سنناقش كيفية مزامنة الملفات باستخدام rsync مع منفذ SSH غير القياسي. قد تتساءل لماذا نحتاج إلى استخدام منفذ SSH غير القياسي؟ هو بسبب أسباب أمنية. الجميع يعرف أن 22 هو المنفذ الافتراضي لبروتوكول SSH.

لذلك، من الضروري تغيير رقم منفذ SSH الافتراضي إلى شيء مختلف يصعب تخمينه. في مثل هذه الحالات، كيف ستقوم بمزامنة ملفاتك/مجلداتك مع الخادم البعيد؟ لا داعي للقلق، إنه ليس صعبًا. هنا سنرى كيفية مزامنة الملفات والمجلدات باستخدام rsync مع منفذ SSH غير القياسي.
كما قد تعلم، rsync، المعروف أيضًا باسم Remote Sync، هو أداة سريعة ومتعددة الاستخدامات وقوية يمكن استخدامها لنسخ ومزامنة الملفات/المجلدات من محلي إلى محلي، أو من محلي إلى مضيف بعيد. لمزيد من التفاصيل حول rsync، تحقق من صفحات الدليل:
# man rsync
أو راجع دليلنا السابق من الرابط أدناه.
تغيير منفذ SSH إلى منفذ غير قياسي
كما نعلم جميعًا، يستخدم rsync افتراضيًا منفذ SSH 22 لمزامنة الملفات بين المضيفين المحليين والبعيدين والعكس. يجب علينا تغيير منفذ SSH للخادم البعيد لتعزيز الأمان.
للقيام بذلك، افتح وعدل ملف تكوين SSH /etc/ssh/sshd_config:
# vi /etc/ssh/sshd_config
ابحث عن السطر التالي. قم بإلغاء تعليقه وقم بتغيير رقم المنفذ الذي تختاره. أوصيك باختيار رقم يصعب تخمينه.
تحقق من هذه المقالة حول netstat لمعرفة الخدمات التي تعمل على منافذ TCP/UDP.
على سبيل المثال، هنا أستخدم رقم المنفذ 1431.
[...] Port 1431 [...]
احفظ وأغلق الملف.
في أنظمة RPM مثل RHEL، CentOS، وScientific Linux 7، تحتاج إلى السماح بالمنفذ الجديد من خلال جدار الحماية أو الموجه.
# firewall-cmd --add-port 1431/tcp # firewall-cmd --add-port 1431/tcp --permanent
على RHEL/CentOS/Scientific Linux 6 وما بعدها، يجب أيضًا تحديث أذونات selinux للسماح بالمنفذ.
# 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
أعد تشغيل خدمة SSH لتطبيق التغييرات.
# systemctl restart sshd [On SystemD] OR # service sshd restart [On SysVinit]
الآن دعنا نرى كيفية مزامنة الملفات باستخدام rsync مع منفذ غير قياسي.
كيفية المزامنة باستخدام منفذ SSH غير القياسي
قم بتشغيل الأمر التالي من الطرفية لمزامنة الملفات/المجلدات باستخدام rsync مع منفذ ssh غير قياسي.
الصيغة:
# rsync -arvz -e 'ssh -p <port-number>' --progress --delete user@remote-server:/path/to/remote/folder /path/to/local/folder
لأغراض هذا البرنامج التعليمي، سأستخدم نظامين.
تفاصيل النظام البعيد:
IP Address: 192.168.1.103 User name: tecmint Sync folder: /backup1
تفاصيل النظام المحلي:
Operating System: Ubuntu 14.04 Desktop IP Address: 192.168.1.100 Sync folder: /home/sk/backup2
دعنا نزامن محتويات مجلد /backup1
على الخادم البعيد مع مجلد النظام المحلي /home/sk/backup2/
.
$ sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email protected]:/backup1 /home/sk/backup2
نتيجة عينة
[email protected]'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.
دعنا نتحقق من محتويات مجلد /backup1/
على الخادم البعيد.
$ sudo ls -l /backup1/
نتيجة عينة
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
الآن، دعنا نتحقق من محتويات مجلد /backup2/
على النظام المحلي.
$ ls /home/sk/backup2/
backup1
كما ترون في الناتج أعلاه، تم نسخ محتويات /backup1/
بنجاح إلى دليل /home/sk/backup2/
على نظامي المحلي.
تحقق من محتويات مجلد /backup1/
:
$ ls /home/sk/backup2/backup1/
ناتج عينة
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
انظر، لديهما المجلدان على النظام البعيد والنظام المحلي نفس الملفات.
الاستنتاج
مزامنة الملفات/المجلدات باستخدام Rsync مع SSH ليست سهلة فقط، بل هي أيضًا طريقة سريعة وآمنة. إذا كنت وراء جدار ناري يقيد منفذ 22، لا تقلق. ما عليك سوى تغيير المنفذ الافتراضي ومزامنة الملفات كمحترف.
Source:
https://www.tecmint.com/sync-files-using-rsync-with-non-standard-ssh-port/