توجه کلیه مسئولیت استفاده از آموزش بر عهده خود کاربر و بازدیدکننده می باشد!
از ابتدا تا انتهای اموزش نباید SSH رو قطع کنید یا ببندید!
1) قبل از هر چیز به SSH متصل شوید و با اجرای دستور زیر یک بکاپ از فایل کانفیگ SSH ایجاد کنید:
2) سپس یک عدد دو تا پنج رقمی مناسب جهت استفاده برای پورت جدید انتخاب کنید.
نکته: نباید از پورت های پیشفرض و... که برای وب سرور یا سرویس ایمیل و سرویس دیتابیس و کنترل پنل و دیگر سرویس ها استفاده شده است، انتخاب کنید!
برای بررسی خالی بودن و انتخاب پورت می توانید از لینک یک و لینک دو کمک بگیرید.
* در این آموزش ما از پورت فرضی 6666 استفاده میکنیم.
3) بعد از انتخاب پورت، با اجرای کد زیر چک کنید که پورت توسط سرویس دیگری در حال استفاده نباشد! (قبل از اجرای دستور پورت مورد نظر خود را قرار دهید)
* در صورتی که پس از اجرای دستور فوق اطلاعاتی نمایش داده نشود، یعنی آن پورت توسط سرویس دیگری در حال استفاده نمی باشد.
4) در صورت نیاز جهت نصب ویرایشگر متن نانو دستور زیر را اجرا کنید:
5) حال جهت بررسی وضعیت SELinux دستور زیر را اجرا کنید:
اگر نتیجه Permissive یا disabled بود، به مرحله بعد بروید، در غیر اینصورت در سرور مجازی یا اختصاصی خود ابتدا دستور زیر را جهت نصب پکیج مورد نیاز اجرا کنید:
و برای معرفی پورت جدید از دستور زیر استفاده کنید: (قبل از اجرای دستور پورت مورد نظر خود را قرار دهید)
* البته در صورت نیاز می توانید SELinux را از طریق ویرایش فایل زیر و تغییر enforcing به disabled غیرفعال کنید. (پس از اینکار باید سرور ریبوت شود.)
6) جهت بررسی وضعیت نصب بودن فایروال دستور زیر را اجرا کنید:
اگر نتیجه Unit firewalld.service could not be found بود به مرحله بعد بروید،
در غیر اینصورت در سرور اختصاصی یا مجازی خود با اجرای این سه دستور می توانید پورت جدید را در فایروال باز کنید: (قبل از اجرای دستور پورت مورد نظر خود را قرار دهید)
نهایتا می توانید با اجرای دستور زیر لیست سرویس ها و پورت های مجاز شده در فایروال لینوکس را مشاهده کنید:
* همچنین در صورت نیاز می توانید با اجرای دستورهای زیر فایروال را غیرفعال کنید:
** جهت نصب یا حذف فایروال نیز می توانید از دستور مربوطه استفاده کنید:
وضعیت پورت ssh را با دستور زیر نیز می توانید بررسی کنید:
7) برای آخرین مرحله، فایل کانفیگ ssh را جهت ویرایش باز کنیم:
خط زیر را پیدا کنید و مربع # ابتدای خط را حذف کنید سپس پورت جدید را تایپ کرده و فایل را ذخیره کنید.
مثال:
* در صورت تمایل می توانید بدون نیاز به ویرایش فایل با دستور زیر کد مورد نظر را به فایل کانفیگ اضافه کنید: (قبل از اجرای دستور پورت مورد نظر خود را قرار دهید)
برای اتمام کار سرویس SSH را ریستارت کرده و امکان اتصال با پورت جدید را امتحان کنید.
نکته: اگر با ارور مشابه نمونه زیر مواجه شدید احتمالا مراحل را به ترتیب قرار داده شده انجام نداده اید:
از ابتدا تا انتهای اموزش نباید SSH رو قطع کنید یا ببندید!
1) قبل از هر چیز به SSH متصل شوید و با اجرای دستور زیر یک بکاپ از فایل کانفیگ SSH ایجاد کنید:
کد:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
2) سپس یک عدد دو تا پنج رقمی مناسب جهت استفاده برای پورت جدید انتخاب کنید.
نکته: نباید از پورت های پیشفرض و... که برای وب سرور یا سرویس ایمیل و سرویس دیتابیس و کنترل پنل و دیگر سرویس ها استفاده شده است، انتخاب کنید!
برای بررسی خالی بودن و انتخاب پورت می توانید از لینک یک و لینک دو کمک بگیرید.
* در این آموزش ما از پورت فرضی 6666 استفاده میکنیم.
3) بعد از انتخاب پورت، با اجرای کد زیر چک کنید که پورت توسط سرویس دیگری در حال استفاده نباشد! (قبل از اجرای دستور پورت مورد نظر خود را قرار دهید)
کد:
netstat -ntap | grep 6666
4) در صورت نیاز جهت نصب ویرایشگر متن نانو دستور زیر را اجرا کنید:
کد:
dnf install nano -y
5) حال جهت بررسی وضعیت SELinux دستور زیر را اجرا کنید:
کد:
getenforce
کد:
dnf install policycoreutils-python-utils -y
کد:
semanage port -a -t ssh_port_t -p tcp 6666
سپس می توانید با دستور زیر نتیجه را بررسی کنید:
semanage port -l | grep ssh
* البته در صورت نیاز می توانید SELinux را از طریق ویرایش فایل زیر و تغییر enforcing به disabled غیرفعال کنید. (پس از اینکار باید سرور ریبوت شود.)
کد:
nano /etc/selinux/config
6) جهت بررسی وضعیت نصب بودن فایروال دستور زیر را اجرا کنید:
کد:
systemctl status firewalld
در غیر اینصورت در سرور اختصاصی یا مجازی خود با اجرای این سه دستور می توانید پورت جدید را در فایروال باز کنید: (قبل از اجرای دستور پورت مورد نظر خود را قرار دهید)
کد:
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --permanent --add-port=6666/tcp
firewall-cmd --reload
کد:
firewall-cmd --list-all
* همچنین در صورت نیاز می توانید با اجرای دستورهای زیر فایروال را غیرفعال کنید:
کد:
systemctl stop firewalld
systemctl disable firewalld
کد:
dnf install firewalld
dnf remove firewalld
وضعیت پورت ssh را با دستور زیر نیز می توانید بررسی کنید:
کد:
ss -tnlp|grep ssh
7) برای آخرین مرحله، فایل کانفیگ ssh را جهت ویرایش باز کنیم:
کد:
nano /etc/ssh/sshd_config
کد:
#Port 22
کد:
Port 6666
کد:
echo "Port 6666" >> /etc/ssh/sshd_config
برای اتمام کار سرویس SSH را ریستارت کرده و امکان اتصال با پورت جدید را امتحان کنید.
کد:
systemctl restart sshd.service
نکته: اگر با ارور مشابه نمونه زیر مواجه شدید احتمالا مراحل را به ترتیب قرار داده شده انجام نداده اید:
نقل قول:Job for sshd.service failed because a configured resource limit was exceeded. See "systemctl status sshd.service" and "journalctl -xe" for details