نحوه تغییر پورت ssh در سرور لینوکس یا یونیکس
در این مقاله نشان خواهیم داد که چگونه می توان پورت SSH را برای سرور لینوکس (Linux) یا یونیکس (Unix) خود با استفاده از گزینه خط فرمان تغییر داد.
جهت این کار، به راحتی میتوانید پورت SSH را در سرور لینوکس یا یونیکس تغییر دهید. همانطور که میدانید پورت ssh در فایل sshd_config تعریف شده است. این فایل در مسیر /etc/ssh/sshd_config واقع شده است.
مراحل تغییر پورت SSH در لینوکس یا سرور یونیکس
• برنامه ترمینال را باز کرده و از طریق SSH به سرور خود متصل شوید.
• با تایپ دستور find فایل sshd_config را پیدا کنید.
• فایل سرور sshd را ویرایش کرده و گزینه Port را تنظیم کنید.
• فایل را ذخیره کنید و ببندید.
• برای تغییر پورت ssh در لینوکس، سرویس sshd را مجدداً راه اندازی کنید.
جهت این کار، فایل sshd_config را با تایپ دستور زیر پیدا کنید:
خروجی دستور زیر مشابه زیر میباشد:
دستور find سعی میکند فایل پیکربندی سرور sshd با نام sshd_config را پیدا کند. در انتهای دستور فوق ۲>/dev/null را اضافه کردهایم تا پیام های هشدار / هرزنامه را مخفی کند.
حال پس از یافتن مسیر فایل میبایست فایل را ویرایش کرده و گزینه Port را تنظیم کنید. جهت این کار دستور زیر را تایپ نمایید:
سپس در این فایل به دنبال یکی از خطوط زیر بگردید:
#Port 22
متداولترین پورت که به جای پورت پیشفرض ۲۲ به کار میرود، پورت ۲۲۲۲ می باشد. به عنوان مثال، برای تنظیم پورت روی ۲۲۲۲، به شرح زیر آن را وارد کنید:
حال تغییرات داده شده را در فایل مربوطه ذخیره کنید و فایل را ببندید.
توجه : لطفا توجه داشته باشید که شماره پورت ۰-۱۰۲۳ برای خدمات مختلف سیستم محفوظ است و شما نمیتوانید از این پورتها استفاده نمایید. از این رو، توصیه می کنیم شماره های پورت را بین اعداد ۱۰۲۴ و ۶۵۵۳۵ انتخاب کنید.
در ادامه لیست پورت های معروف و شناخته شده آورده شده است:
Service | Protocol | Port |
---|---|---|
ftp-data | tcp | ۲۰ |
ftp server | tcp | ۲۱ |
ssh server | tcp | ۲۲ |
telnet server | tcp | ۲۳ |
email server | tcp | ۲۵ |
Domain name server | tcp/udp | ۵۳ |
tftp server | udp | ۶۹ |
HTTP server | tcp | ۸۰ |
POP3 server | tcp/udp | ۱۱۰ |
NTP server | tcp/udp | ۱۲۳ |
HTTPS server | tcp | ۴۴۳ |
برای دیدن لیست سرویسهای شبکه اینترنت، از دستور cat / دستور grep / egrep استفاده کنید:
less /etc/services
more /etc/services
grep -w ’22/tcp’ /etc/services
grep SSH /etc/services
grep -w ’80/tcp’ /etc/services
egrep -w ‘(80|443|110|53)/tcp’ /etc/services
خروجی این دستورات مشابه زیر میباشد:
نکته در مورد کاربران SELinux
برای تغییر پورت به ۲۲۲۲ میبایست دستور زیر را تایپ کنید:
تنظیمات فایروال:
پس از انجام مراحل بالا، میبایست فایروال خود را برای پذیرش درخواستها از پورت ssh 2222 در لینوکس به روز کنید.
اگر از UFW در Ubuntu / Debian Linux استفاده می کنید، دستور زیر را تایپ کنید:
ساختار مربوط به iptables به شرح زیر است:
ساختار مربوط به فایروال pf در pf.conf به شرح زیر است: (FreeBSD / OpenBSD / NetBSD Unix)
برای باز کردن پورت جدید، دستورات زیر را با استفاده از FirewallD روی توزیعهای لینوکسی Fedora/CentOS/RHEL/Oracle اجرا کنید:
$ sudo firewall-cmd –reload
هشدار: برای پذیرش پورت جدید، باید تنظیمات فایروال خود را به روز کنید. در غیر اینصورت دستورات فوق دسترسی ssh شما را غیرفعال میکند.
سپس سرویس sshd را مجدداً راه اندازی کنید. جهت این کار دستور زیر را روی توزیعهای لینوکس CentOS/RHEL/Fedora تایپ نمایید:
یا اگر از توزیعهای CentOS/RHEL/Fedora استفاده می کنید، دستور زیر را تایپ نمایید:
یا اگر از توزیعهای CentOS/RHEL/Fedora استفاده می کنید، دستور زیر را تایپ نمایید:
یا اگر از توزیعهای CentOS/RHEL/Fedora استفاده می کنید، دستور زیر را تایپ نمایید:
یا اگر از FreeBSD Unix استفاده می کنید، دستور زیر را تایپ نمایید:
حال میبایست تأیید کنیم که پورت TCP 2222 باز شده است. جهت این کار از دستور netstat یا دستور ss استفاده کنید:
netstat -tulpn | grep 2222
جهت استفاده از پورت SSH جدید با خط فرمان، توجه داشته باشید که ساختار آن به صورت یکی از موارد زیر میباشد:
sftp -P {port} openssh-server
scp -P {port} source target
scp -P {port} /path/to/foo user@server:/dest/
به عنوان مثال:
نتیجه گیری
در این صفحه نحوه تغییر پورت SSH در سیستم های لینوکس و یونیکس از جمله دستورات خط فرمان ssh برای اتصال به سرور توضیح داده شده است.