زمان انتشار:
شنبه 21 تیر 1399
تغییر پورت ssh در centos7 و 8
جهت افزایش امنیت سرور لینوکسی می توان نسبت به تغییر پورت SSH از پیش فرض به یک پورت آزاد دیگر اقدام نمود.
-
ابتدا از طریق نرم افزار Putty به سرور ssh زده و سپس فایل "sshd_config" فایلی که تنظیمات ssh در آن ذخیره می گردد را به جهت ویرایش با کمک دستور ذیل باز نمایید، پس از باز شدن خطی که "# Port 22" نوشته شده است را پیدا نمائید.
nano /etc/ssh/sshd_config
لازم به ذکر است جهت اینکه این فایل را ویرایش نمائید، از هر کدام یک از ویرایشگر های متنی می توان استفاده نمود.
-
ابتدا این خط را از حالت توضیح با حذف نشانه "#" خارج نموده و شماره پورت مد نظر را برای مثال 2050 را به جای 22 وارد نمایید. پس از تغییرات خط مربوطه به شکل ذیل خواهد بود :
Port 2050
-
در سیستم عامل CentOS 7 minimal به صورت پیش فرض semanage نصب نمی باشد که برای نصب آن می بایست از دستور ذیل استفاده نمود :
yum install policycoreutils-python
-
پس از اتمام مراحل نصب دستور ذیل را وارد نمایید :
semanage port -a -t ssh_port_t -p tcp 2050
-
ممکن است در مراحل قبل با خطای زیر روبرو شوید که جهت رفع آن می بایست وارد مسیر موجود در تصویر شوید.
ValueError: SELinux policy is not managed or store cannot be accessed.
-
سپس بخش "SELINUX" را "Enable" نمایید و مجدد دستورات تغییرات پورت را اجرا نمائید.
-
سپس سرویس ssh را با دستور ذیل ری استارت نمایید :
systemctl restart sshd.service
-
با کمک دستور ذیل می توان جهت اطمینان از اینکه ssh برروی کدام پورت listen دارد را تست نمود :
semanage port -l | grep ssh
-
سپس سرویس فایروال سیستم عامل را با کمک دستور ذیل ری استارت نمایید :
systemctl start firewalld
-
برای باز نمودن پورت جدید مورد نظر در فایروال به ترتیب دستورات ذیل را وارد نمایید :
firewall-cmd --zone=public --add-port=2050/tcp --permanent
firewall-cmd --reload
-
حال با کمک دستور ذیل می توان از اینکه پورت 2050 به چه سرویسی اختصاص داده شده است اطمینان حاصل نمود :
netstat -tulpn | grep :2050
پس از انجام موارد ذکر شده پورت ssh تغییر نموده است و کافیست یک Putty دیگر قبل از بستن کانکشن فعلی باز نموده و با پورت جدید به سرور متصل شوید، توجه داشته باشید که هم اکنون پورت 22 دیگر برای ssh استفاده نمی گردد و بهتر می باشد آن را جهت امنیت بیشتر با دستورات ذیل ببندید :
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --reload