نحوه تغییر پورت ssh در سرور لینوکس یا یونیکس

آنیتا نظری 

دی 22, 1399

در این مقاله نشان خواهیم داد که چگونه می توان پورت SSH را برای سرور لینوکس (Linux) یا یونیکس (Unix) خود با استفاده از گزینه خط فرمان تغییر داد.
جهت این کار، به راحتی می‌توانید پورت SSH را در سرور لینوکس یا یونیکس تغییر دهید. همانطور که می‌دانید پورت ssh در فایل sshd_config تعریف شده است. این فایل در مسیر /etc/ssh/sshd_config واقع شده است.

 

مراحل تغییر پورت SSH در لینوکس یا سرور یونیکس

• برنامه ترمینال را باز کرده و از طریق SSH به سرور خود متصل شوید.

• با تایپ دستور find فایل sshd_config را پیدا کنید.

• فایل سرور sshd را ویرایش کرده و گزینه Port را تنظیم کنید.

• فایل را ذخیره کنید و ببندید.

• برای تغییر پورت ssh در لینوکس، سرویس sshd را مجدداً راه اندازی کنید.

جهت این کار، فایل sshd_config را با تایپ دستور زیر پیدا کنید:

$ find / -name “sshd_config” 2>/dev/null

خروجی دستور زیر مشابه زیر می‌باشد:

/etc/ssh/sshd_config

دستور find سعی می‌کند فایل پیکربندی سرور sshd با نام sshd_config را پیدا کند. در انتهای دستور فوق ۲&gt/dev/null را اضافه کرده‌ایم تا پیام های هشدار / هرزنامه را مخفی کند.
حال پس از یافتن مسیر فایل می‌بایست فایل را ویرایش کرده و گزینه Port را تنظیم کنید. جهت این کار دستور زیر را تایپ نمایید:

sudo vi /etc/ssh/sshd_config

 

سپس در این فایل به دنبال یکی از خطوط زیر بگردید:

Port 22
#Port 22

 

متداول‌ترین پورت که به جای پورت پیش‌فرض ۲۲ به کار می‌رود، پورت ۲۲۲۲ می باشد. به عنوان مثال، برای تنظیم پورت روی ۲۲۲۲، به شرح زیر آن را وارد کنید:

Port 2222

 

 

حال تغییرات داده شده را در فایل مربوطه ذخیره کنید و فایل را ببندید.

 

توجه : لطفا توجه داشته باشید که شماره پورت ۰-۱۰۲۳ برای خدمات مختلف سیستم محفوظ است و شما نمی‌توانید از این پورت‌ها استفاده نمایید. از این رو، توصیه می کنیم شماره های پورت را بین اعداد ۱۰۲۴ و ۶۵۵۳۵ انتخاب کنید.

در ادامه لیست پورت های معروف و شناخته شده آورده شده است:

 

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 استفاده کنید:

cat /etc/services
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

برای تغییر پورت به ۲۲۲۲ می‌بایست دستور زیر را تایپ کنید:

# semanage port -a -t ssh_port_t -p tcp 2222

تنظیمات فایروال:

پس از انجام مراحل بالا، می‌بایست فایروال خود را برای پذیرش درخواست‌ها از پورت ssh 2222 در لینوکس به روز کنید.
اگر از UFW در Ubuntu / Debian Linux استفاده می کنید، دستور زیر را تایپ کنید:

$ sudo ufw allow 2222/tcp

ساختار مربوط به iptables به شرح زیر است:

sudo /sbin/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 2222 -j ACCEPT

ساختار مربوط به فایروال pf در pf.conf به شرح زیر است: (FreeBSD / OpenBSD / NetBSD Unix)

pass log on $ext_if proto tcp to any port 2222 keep state

 

برای باز کردن پورت جدید، دستورات زیر را با استفاده از FirewallD روی توزیع‌های لینوکسی Fedora/CentOS/RHEL/Oracle اجرا کنید:

$ sudo firewall-cmd –permanent –zone=public –add-port=2222/tcp
$ sudo firewall-cmd –reload

 

هشدار: برای پذیرش پورت جدید، باید تنظیمات فایروال خود را به روز کنید. در غیر اینصورت دستورات فوق دسترسی ssh شما را غیرفعال می‌کند.

 

 

سپس سرویس sshd را مجدداً راه اندازی کنید. جهت این کار دستور زیر را روی توزیع‌های لینوکس CentOS/RHEL/Fedora تایپ نمایید:

$ sudo service sshd restart

یا اگر از توزیع‌های CentOS/RHEL/Fedora استفاده می کنید، دستور زیر را تایپ نمایید:

$ sudo systemctl restart sshd

یا اگر از توزیع‌های CentOS/RHEL/Fedora استفاده می کنید، دستور زیر را تایپ نمایید:

$ sudo service ssh restart

یا اگر از توزیع‌های CentOS/RHEL/Fedora استفاده می کنید، دستور زیر را تایپ نمایید:

$ sudo systemctl restart ssh

یا اگر از FreeBSD Unix استفاده می کنید، دستور زیر را تایپ نمایید:

$ sudo service sshd restart

 

حال می‌بایست تأیید کنیم که پورت TCP 2222 باز شده است. جهت این کار از دستور netstat یا دستور ss استفاده کنید:

ss -tulpn | grep 2222
netstat -tulpn | grep 2222

 

جهت استفاده از پورت SSH جدید با خط فرمان، توجه داشته باشید که ساختار آن به صورت یکی از موارد زیر می‌باشد:

ssh -p {port} user@server
sftp -P {port} openssh-server
scp -P {port} source target
scp -P {port} /path/to/foo user@server:/dest/

به عنوان مثال:

ssh -p 2222 vivek@server1.cyberciti.biz

نتیجه گیری

در این صفحه نحوه تغییر پورت SSH در سیستم های لینوکس و یونیکس از جمله دستورات خط فرمان ssh برای اتصال به سرور توضیح داده شده است.

آنیتا نظری 

کارشناس نرم‌افزار، طراح وب سایت و کارشناس فنی وب هاستینگ، مسلط به زبان انگلیسی و علاقه‌مند به موضوعات IT و تکنولوژی.