شرح تغيير بورت الشل على السيرفر
طريقة آمنة لتغيير بورت الـ SSH (الشل)
خطوات عملية لتبديل المنفذ (مثال 2222) بدون ما تقفل على نفسك، مع ضبط الفايروول وSELinux والـ CSF/ufw.
قبل البدء (تحضير مهم)
نصيحة: اختر بورت بين 1024–65535 (مثلاً 2222). افتح جلسة SSH ثانية وقت الاختبار ولا تغلق الجلسة القديمة إلا بعد النجاح.
- تأكد من سيكيورتي جروب/جدار مزوّد السحابة (AWS/OVH/…): اسمح بالمنفذ الجديد من هناك أيضًا.
- اعرف اسم خدمة SSH: في RHEL/Alma/Rocky هي sshd، وفي Debian/Ubuntu غالبًا ssh.
فتح المنفذ الجديد في الفايروول
firewalld (RHEL/Alma/Rocky)
sudo firewall-cmd --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
UFW (Debian/Ubuntu)
sudo ufw allow 2222/tcp
# (اختياري لاحقاً) حذف 22 بعد التأكد:
# sudo ufw delete allow 22/tcp
CSF
# أضف 2222 إلى TCP_IN ثم أعد التحميل
sudo sed -i 's/^TCP_IN = "\(.*\)"/TCP_IN = "\1,2222"/' /etc/csf/csf.conf
sudo csf -r
سماحية SELinux (إن وُجدت)
sudo dnf -y install policycoreutils-python-utils || sudo yum -y install policycoreutils-python
sudo semanage port -a -t ssh_port_t -p tcp 2222 || sudo semanage port -m -t ssh_port_t -p tcp 2222
sudo semanage port -l | grep ssh
تعديل إعدادات SSH
افتح الملف /etc/ssh/sshd_config وأضف المنفذين أثناء الاختبار:
# داخل /etc/ssh/sshd_config
Port 22
Port 2222
معلومة: وجود سطرين Port مسموح. لاحقًا احذف 22 بعد نجاح الاختبار.
إعادة التشغيل والاختبار
# RHEL/Alma/Rocky:
sudo systemctl restart sshd# Debian/Ubuntu:sudo systemctl restart ssh
اختبر في جلسة جديدة:
ssh -p 2222 user@SERVER_IP
إزالة 22 بعد التأكد
- احذف Port 22 من sshd_config واترك Port 2222 فقط.
- حدّث الفايروول لإغلاق 22:
# UFW
# firewalld
sudo firewall-cmd --remove-service=ssh --permanent || true
sudo firewall-cmd --remove-port=22/tcp --permanent || true
sudo firewall-cmd --reload
sudo ufw delete allow 22/tcp# CSF: احذف 22 من TCP_IN (اختياري) - أعد تشغيل الخدمة مرة أخرى.
تحسينات أمان إضافية
# داخل /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
# AllowUsers user1 user2 # (اختياري) حصر الدخول على مستخدمين محددين
لو بتستخدم Fail2ban، تأكد أن الجيل يراقب خدمة ssh/sshd على البورت الجديد.
استكشاف المشاكل
# تحقق من صحة الإعداد قبل الريستارت
sudo sshd -t || sudo ssh -t 2>/dev/null# سجلات الخدمةjournalctl -xeu sshd # RHEL/Alma/Rocky
journalctl -xeu ssh # Debian/Ubuntu
# تأكد من أن المنفذ يستمعss -lnpt | grep ssh
انقذت نفسك؟ لو اتقفلت: استخدم كونسول/KVM من مزودك وارجع 22 مؤقتًا ثم أصلح الإعداد.



