learn

تغییر پورت SSH در لینوکس؛ مراحل آزمون و جلوگیری از قطع دسترسی

راهنمای مرحله‌ای جابه‌جایی پورت SSH با توجه به روش اجرای سرویس و مسیر بازیابی دسترسی.

تغییر پورت SSH می‌تواند بخشی از اسکن‌های خودکار روی پورت پیش‌فرض ۲۲ را کم کند، اما جای کلید امن، به‌روزرسانی و محدود کردن دسترسی را نمی‌گیرد. مهم‌ترین مسئله در این تغییر، حفظ راه ورود مدیر است. مراحل را با کنسول بازیابی و یک نشست مدیریتی باز انجام دهید.

پیش از تغییر پورت SSH

پورت ۵۵۲۲ در این راهنما فقط نمونه است. آزاد بودن آن و سیاست شبکهٔ میزبان را بررسی کنید. پورت بالاتر به‌خودی‌خود امن‌تر نیست. با دستورهای زیر وضعیت شنود و روش اجرای سرویس را ببینید:

sudo ss -ltnp
systemctl status ssh.service ssh.socket --no-pager

در خانوادهٔ RHEL معمولاً نام سرویس sshd است؛ از systemctl status sshd استفاده کنید. نصب سفارشی یا سرور دارای پنل ممکن است تنظیمات متفاوتی داشته باشد. تغییر را هم‌زمان با تعویض کلید یا سیاست ورود انجام ندهید تا علت خطا قابل تشخیص بماند.

۱. اجازهٔ اتصال به پورت جدید

در اوبونتو، اگر UFW فایروال فعال شماست، ابتدا وضعیت آن را ببینید و پورت نمونه را مجاز کنید:

sudo ufw status verbose
sudo ufw allow 5522/tcp

قانون قبلی SSH را فعلاً حفظ کنید. در فایروال پنل سرور، شبکهٔ ابری یا روتر نیز مسیر ورودی باید مجاز باشد. فعال کردن ناگهانی یک فایروال غیرفعال، بخشی از این تغییر ساده نیست.

برای firewalld، ابتدا با sudo firewall-cmd --get-active-zones ناحیهٔ رابط را پیدا کنید. فقط اگر ناحیه واقعاً public است، نمونهٔ زیر مناسب است:

sudo firewall-cmd --zone=public --add-port=5522/tcp
sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp

در سیستم دارای SELinux، مجاز بودن پورت برای ssh_port_t را هم بررسی کنید. راهنمای OpenSSH رد هت افزودن پورت آزاد را با sudo semanage port -a -t ssh_port_t -p tcp 5522 توضیح می‌دهد. اگر پورت قبلاً متعلق به سرویس دیگری است، برچسب آن را کورکورانه تغییر ندهید؛ پورت دیگری انتخاب کنید.

۲. تنظیم شنود موقت روی هر دو پورت

فایل /etc/ssh/sshd_config و فایل‌های Include آن را بررسی کنید. برای انتقال مرحله‌ای از پورت ۲۲، تنظیم نهاییِ موقت باید هر دو پورت را داشته باشد:

Port 22
Port 5522

این خطوط باید در بخش عمومی تنظیمات باشند. Portهای تکراری و ListenAddress دارای پورت مشخص را بررسی کنید؛ اضافه کردن متن به انتهای هر فایلی الزاماً نتیجهٔ موردنظر را نمی‌دهد. مرجع sshd_config معنای گزینه‌ها را مشخص می‌کند.

۳. اعتبارسنجی و اعمال متناسب با سیستم

sudo /usr/sbin/sshd -t
sudo /usr/sbin/sshd -T

در صورت خطا، پیش از اعمال آن را رفع کنید. خروجی T تنظیم مؤثر را نشان می‌دهد، اما جای بررسی سوکت واقعی را نمی‌گیرد. در حالت سرویس معمول اوبونتو، پس از آزمون موفق از sudo systemctl restart ssh.service و در RHEL از restart برای sshd استفاده کنید.

در اوبونتوی دارای فعال‌سازی سوکتی و تولید تنظیمات از sshd_config، تغییر پورت نیازمند بازسازی تنظیم سوکت است. توضیح رسمی اصلاح بستهٔ اوبونتو این مراحل را مشخص کرده است:

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket

اگر ssh.service از قبل فعال است و شنود قدیمی را نگه داشته، آن را نیز پس از اعتبارسنجی دوباره راه‌اندازی کنید. وضعیت هر دو واحد و خروجی ss را بررسی کنید؛ تا شنود ۵۵۲۲ تأیید نشده، مرحلهٔ بعد را موفق تلقی نکنید.

۴. آزمون از یک اتصال تازه و پایان انتقال

ssh -p 5522 username@server.example.com

نام کاربر و میزبان را جایگزین کنید. ورود و دسترسی مدیریتی را در پنجرهٔ جدید آزمایش کنید. سپس پورت ۲۲ را از تنظیم شنود بردارید، اعتبارسنجی و اعمال را تکرار کنید و بعد قانون ورودی قدیمی را حذف کنید. ابزارهای پشتیبان‌گیری، SFTP و پایش را نیز با پورت تازه هماهنگ سازید.

اگر اتصال تازه برقرار نشد، با نشست قبلی یا کنسول، تنظیم پورت را به حالت قبل برگردانید. هشدار تغییر هویت سرور را با خاموش کردن بررسی کلید میزبان دور نزنید؛ ابتدا علت و اثر انگشت را بررسی کنید.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب