ลด 50% ทุกแพ็กเกจ เวลาจำกัด เริ่มต้นที่ $2.48/mo
อ่าน 7 นาที
ความปลอดภัยและเครือข่าย

วิธีเปลี่ยนพอร์ต SSH บน Linux | คู่มือทีละขั้นตอนสำหรับจัดการพอร์ต SSH

อเล็กซ์ รอบบินส์ By อเล็กซ์ รอบบินส์ อ่าน 7 นาที อัปเดต: 7 มกราคม 2024
วิธีเปลี่ยนพอร์ต SSH

หากต้องการเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ ควรเปลี่ยนพอร์ต SSH จากค่าเริ่มต้น เพราะหมายเลขพอร์ตเริ่มต้นเป็นที่รู้จักกันทั่วไปและเป็นความเสี่ยงด้านความปลอดภัยที่ไม่ควรปล่อยทิ้งไว้ เพื่อให้ขั้นตอนนี้ทำได้ง่าย เราได้เตรียมคำแนะนำแบบทีละขั้นตอนสำหรับการเปลี่ยนพอร์ต SSH บน Linux นอกจากนี้ยังมีข้อมูลพื้นฐานเกี่ยวกับโปรโตคอล SSH และความสำคัญต่อความปลอดภัยของเซิร์ฟเวอร์ หากต้องการข้ามส่วนนี้และเริ่มทำตามขั้นตอนได้เลย

SSH คืออะไร?

ค่า Secure SHell Protocol (SSH) เป็นมาตรการรักษาความปลอดภัยที่ให้คุณและผู้ใช้คนอื่นเชื่อมต่อกับเซิร์ฟเวอร์อย่างปลอดภัยผ่านเครือข่ายที่ไม่ปลอดภัย เช่น อินเทอร์เน็ต สิ่งนี้จำเป็นมากเมื่อคุณวางแผนจะรันเซิร์ฟเวอร์ ไม่ว่าจะเป็น VPS หรือเซิร์ฟเวอร์แบบ dedicated คุณต้องเชื่อมต่อกับเซิร์ฟเวอร์จากแล็ปท็อปผ่านอินเทอร์เน็ต และอินเทอร์เน็ตก็ไม่ใช่สภาพแวดล้อมที่ปลอดภัย คุณจึงไม่อาจละเลยการป้องกันได้ นั่นคือเหตุผลที่ Secure SHell Protocol มีเครื่องมือสำคัญหลายอย่างสำหรับสร้างและรักษาความปลอดภัยของเซิร์ฟเวอร์ รวมถึงเครื่องมือสำหรับการยืนยันตัวตนด้วยรหัสผ่านและ key 

ทำไม SSH Security จึงสำคัญ?

เมื่อคุณได้รับ dedicated server หรือ VPS คุณจะมีสิทธิ์เข้าถึงระบบในระดับ root ซึ่งหมายความว่าคุณสามารถใช้โปรโตคอล SSH เชื่อมต่อกับเซิร์ฟเวอร์จากระยะไกลและปรับแต่งค่าต่าง ๆ ได้ตามต้องการ แม้ SSH จะไม่รองรับกราฟิกและใช้งานได้เฉพาะผ่าน Command-Line Interface แต่ก็ยังคงเป็นวิธีหลักในการจัดการเซิร์ฟเวอร์ เช่นเดียวกับบริการบนเครือข่ายทั่วไป SSH ใช้หมายเลขพอร์ตเริ่มต้น แต่เนื่องจากการเปลี่ยนพอร์ต SSH ทำได้ยากกว่าโปรโตคอลอื่น เช่น VNC ผู้ใช้บางส่วนจึงไม่เปลี่ยน นั่นทำให้แฮกเกอร์และซอฟต์แวร์ที่เป็นอันตรายมีโอกาสเจาะระบบมากขึ้น เพราะรู้พอร์ตที่จะโจมตี คุณจึงควรใช้เวลาเปลี่ยนพอร์ต SSH เริ่มต้นเสียตั้งแต่ตอนนี้ และด้วยบทแนะนำนี้คุณทำได้อย่างรวดเร็วโดยไม่ยุ่งยาก 

linux-vps Linux Hosting ที่ใช้งานได้ทันที

ต้องการวิธีที่ดีกว่าในการโฮสต์เว็บไซต์และเว็บแอปของคุณ? กำลังพัฒนาโปรเจกต์ใหม่? หรือแค่ไม่อยากใช้ Windows? นั่นคือเหตุผลที่เรามี Linux VPS

เริ่มต้นใช้งาน Linux VPS ของคุณ

วิธีเปลี่ยนพอร์ต SSH ใน Linux

ตลอดบทแนะนำนี้ เราจะใช้ Linux Terminal เพื่อป้อนคำสั่งที่จำเป็น ภาพหน้าจอถ่ายจาก Fedora Server 34 แต่คำสั่งส่วนใหญ่ใช้ได้กับ Linux distro หลัก ๆ ทุกตัว กรณีที่ต้องใช้คำสั่งเฉพาะ distro เราจะระบุแยกไว้ให้ ในการทำตามขั้นตอนเหล่านี้ คุณต้องล็อกอินเข้าเซิร์ฟเวอร์ผ่าน VNC หรือ SSH เมื่อเข้าใจภาพรวมแล้ว มาเริ่มกันเลย

ขั้นตอนที่ 1: เปิด Terminal

ขั้นแรก เราต้องเปิด Terminal หากคุณใช้ SSH อยู่แล้ว คุณก็ใช้ terminal อยู่โดยปริยาย หากใช้ remote desktop protocol เช่น VNC คุณเปิด Terminal ได้โดยกด Ctrl+Alt+T หรือค้นหาในเมนูแอปพลิเคชันใน Linux ทุก distro 

อ่านเพิ่มเติม: สร้าง SSH Keys ใน Windows 10

ขั้นตอนที่ 2: แก้ไขไฟล์คอนฟิก SSH

ต่อไป เราจะใช้ ตัวแก้ไขข้อความ nanoNano ให้คุณแก้ไขไฟล์ข้อความได้โดยตรงจาก CLI จึงเหมาะกับการเชื่อมต่อผ่าน SSH มาก Nano ควรติดตั้งมาให้โดยค่าเริ่มต้น หากไม่มี ดูคำสั่งติดตั้งได้ในภาคผนวก เราจะใช้ editor นี้แก้ไขไฟล์คอนฟิกของ SSH: /etc/ssh/sshd_config (หากคุณเชื่อมต่อผ่าน remote desktop คุณสามารถใช้ text editor ที่ถนัดได้) โดยพิมพ์คำสั่งต่อไปนี้:

sudo nano /etc/ssh/sshd_config

เลื่อนลงจนเจอแอตทริบิวต์ Port:

[nano editor บน Linux Terminal แสดงไฟล์คอนฟิกของ SSH]
[nano editor บน Linux Terminal แสดงไฟล์คอนฟิกของ SSH]

ขั้นตอนที่ 3: (ไม่บังคับ) เปลี่ยนพอร์ต SSH เพื่อเพิ่มความปลอดภัย

อย่างที่เห็น พอร์ตเริ่มต้นระบุไว้เป็น 22 และ # ก่อนหน้าบรรทัดนั้น หมายความว่าบรรทัดนั้นเป็นคอมเมนต์ หากต้องการแก้ไขค่าใดๆ คุณต้องลบ # ออกก่อนเพื่อยกเลิกคอมเมนต์ บางคนนิยมใช้พอร์ต SSH 443 ซึ่งปกติสงวนไว้สำหรับการเข้ารหัส SSL เพื่อทำให้แฮกเกอร์สับสน สมมติว่าคุณต้องการเปลี่ยนพอร์ต SSH เป็น 3333 ให้แก้ไขดังนี้:

From:

#Port 22







To:

Port 3333

อีกครั้ง ตรวจสอบให้แน่ใจว่าไม่มี # ก่อนคำว่า Port. กด Ctrl+O เพื่อบันทึกการเปลี่ยนแปลง และ Ctrl+X เพื่อออกจาก editor 

อ่านเพิ่มเติม: Telnet กับ SSH

ขั้นตอนที่ 4: รีสตาร์ทบริการ SSHD เพื่อให้การเปลี่ยนแปลงมีผล

คุณกำหนดค่า SSH เสร็จแล้ว แต่เพื่อให้การเปลี่ยนแปลงมีผล คุณต้องรีสตาร์ท service SSHD ที่ดูแลการเชื่อมต่อ SSH โดยใช้คำสั่งต่อไปนี้:

sudo systemctl reload sshd

ขั้นตอนที่ 5: ตั้งค่า Firewall

ก่อนที่จะเริ่มใช้งานระบบรักษาความปลอดภัยของเซิร์ฟเวอร์ที่ปรับปรุงแล้ว คุณต้องกำหนดค่า firewall เพื่อไม่ให้บล็อกพอร์ต SSH ใหม่ ขั้นตอนนี้จะแตกต่างกันไปตาม distro เนื่องจาก distro แต่ละตัวใช้ firewall ที่ต่างกัน 

วิธีเปลี่ยนพอร์ต SSH ใน CentOS/RHEL/Fedora

distro ส่วนใหญ่ที่ใช้ RHEL เป็นฐาน เช่น CentOS ใช้ชุดความปลอดภัยที่ชื่อว่า SELinux (Security-Enhanced Linux) ซึ่งทำหน้าที่เป็น firewall รวมถึงอื่นๆ อย่างไรก็ตาม ก่อนจะดำเนินการต่อ คุณควรตรวจสอบก่อนว่า SELinux เปิดใช้งานอยู่หรือไม่ โดยใช้คำสั่งต่อไปนี้:

sudo sestatus

หากคุณเห็นผลลัพธ์ลักษณะนี้ โดยบรรทัดแรกแสดงว่า SELinux status: เปิดใช้งาน แสดงว่าคุณต้องทำตามขั้นตอนต่อไปนี้ มิฉะนั้น สามารถข้ามส่วนนี้และไปยังขั้นตอนสุดท้ายได้เลย ที่นี่.

[คำสั่งตรวจสอบสถานะ on/off ของ SELinux]
[คำสั่งตรวจสอบสถานะ on/off ของ SELinux]

เมื่อยืนยันแล้วว่า SELinux เปิดใช้งานอยู่ เราจะใช้ semanage package หากถูกปิดใช้งานอยู่ คุณสามารถใช้คำแนะนำเหล่านี้เพื่อเปิด SELinux ได้อย่างรวดเร็ว ใช้คำสั่งต่อไปนี้เพื่อเพิ่มพอร์ตที่คุณเลือกลงในรายการพอร์ต SSH ของ SELinux (ในตัวอย่างนี้คือ 3333):

sudo semanage port -a -t ssh_port_t -p tcp 3333

จากนั้น เราต้องสั่งให้ firewall เพิ่มพอร์ต 3333 เข้าไปใน public zone ซึ่งเป็นช่วงหมายเลขพอร์ตที่เปิดไว้:

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

สิ่งที่เหลืออยู่คือรีสตาร์ท firewall service เพื่อให้การเปลี่ยนแปลงมีผล:

sudo firewall-cmd --reload

เพียงเท่านี้สำหรับการเปลี่ยนพอร์ต SSH บน CentOS คุณสามารถทดสอบพอร์ตใหม่ได้ด้านล่าง

อ่านเพิ่มเติม:  SSH Client ที่ดีที่สุดสำหรับ Windows ในปี 2022

วิธีเปลี่ยนพอร์ต SSH ใน Ubuntu/Debian/Kali

Ubuntu และ distro ที่ใช้ Debian เป็นฐานบางตัว มี UFW firewall ติดตั้งและเปิดใช้งานไว้โดยค่าเริ่มต้น ดำเนินการได้ด้วยคำสั่งต่อไปนี้ โดยพิมพ์ใน Terminal เช่นเดียวกับคำสั่งก่อนหน้า:

sudo ufw allow 2222/tcp

เพียงเท่านี้สำหรับการเปลี่ยนพอร์ต SSH บน Ubuntu ทีนี้มาทดสอบการเชื่อมต่อด้วยพอร์ตใหม่กัน

ทดสอบพอร์ต SSH ใหม่

 

ตอนนี้ เพื่อตรวจสอบว่าทุกอย่างทำงานถูกต้อง เราจะทดสอบสั้นๆ ว่าการ forward พอร์ต SSH สำเร็จหรือไม่ หากคุณใช้ SSH อยู่ในขณะนี้ ให้ออกจาก session ก่อนโดยปิด shell จากนั้นเปิด Terminal บนเครื่อง client และใช้คำสั่งต่อไปนี้เพื่อเชื่อมต่อผ่าน SSH:

shh 00.00.00.00 -p 3333

แน่นอนว่าคุณต้องแทนที่ 00.00.00 ด้วย IP address ที่ถูกต้องของเซิร์ฟเวอร์ ซึ่งสามารถดูได้จาก control panel บนเว็บไซต์ของผู้ให้บริการ

linux-vps Linux Hosting ที่ใช้งานได้ทันที

ต้องการวิธีที่ดีกว่าในการโฮสต์เว็บไซต์และเว็บแอปของคุณ? กำลังพัฒนาโปรเจกต์ใหม่? หรือแค่ไม่อยากใช้ Windows? นั่นคือเหตุผลที่เรามี Linux VPS

เริ่มต้นใช้งาน Linux VPS ของคุณ

มาตรการรักษาความปลอดภัยอื่น ๆ

นี่คือทั้งหมดสำหรับการเพิ่มความปลอดภัยให้ SSH ของเซิร์ฟเวอร์ แต่ยังมีสิ่งอื่นที่ต้องดูแลต่อเนื่อง งานด้านความปลอดภัยของ administrator ไม่มีวันเสร็จสิ้น ยังมีสิ่งที่ต้องทำอีก เช่น ปิดการเข้าถึงผ่านบัญชี root, ตั้งรหัสผ่านที่แข็งแกร่งขึ้น เป็นต้น แน่นอนว่าผู้ให้บริการ hosting มีบทบาทสำคัญที่สุดในการรักษาความปลอดภัยของเซิร์ฟเวอร์ ดังนั้นการเลือกผู้ให้บริการที่เหมาะสมจึงเป็นเรื่องสำคัญ นั่นคือเหตุผลที่ Cloudzy รันเซิร์ฟเวอร์ Linux VPS บนเซิร์ฟเวอร์ที่มีความปลอดภัยสูง พร้อม firewall ระดับฮาร์ดแวร์และ AI, ระบบป้องกัน DDoS อัจฉริยะ และมาตรการรักษาความปลอดภัยอื่นๆ ที่พัฒนาขึ้นเอง วางใจได้เลยและ รับโซลูชัน Linux VPS ที่ปลอดภัยจาก Cloudzy วันนี้

แชร์

บทความอื่นจากบล็อก

อ่านต่อ

ภาพประกอบสำหรับ Cloudzy ในคู่มือ MikroTik L2TP VPN แสดงแล็ปท็อปที่เชื่อมต่อกับ Server Rack ผ่านอุโมงค์ดิจิทัลสีฟ้าและทองพร้อมไอคอนโล่ป้องกัน
ความปลอดภัยและเครือข่าย

การตั้งค่า MikroTik L2TP VPN (พร้อม IPsec): คู่มือ RouterOS (2026)

ในการตั้งค่า MikroTik L2TP VPN นี้ L2TP ทำหน้าที่สร้าง Tunnel ส่วน IPsec ดูแลการเข้ารหัสและความสมบูรณ์ของข้อมูล การใช้งานร่วมกันช่วยให้รองรับ Native Client ได้โดยไม่ต้องพึ่งพาซอฟต์แวร์ของบุคคลที่สาม

เรกซา ไซรัสเรกซา ไซรัส อ่าน 9 นาที
หน้าต่าง Terminal แสดงข้อความเตือน SSH เกี่ยวกับการเปลี่ยนแปลง Remote Host Identification พร้อมหัวข้อ Fix Guide และแบรนด์ Cloudzy บนพื้นหลังสีเขียวเทาเข้ม
ความปลอดภัยและเครือข่าย

คำเตือน: Remote Host Identification Has Changed และวิธีแก้ไข

SSH คือโปรโตคอลเครือข่ายที่ปลอดภัย สร้างช่องเชื่อมต่อที่เข้ารหัสระหว่างระบบ ยังคงเป็นที่นิยมในหมู่นักพัฒนาที่ต้องการเข้าถึงเครื่องระยะไกลโดยไม่จำเป็นต้องใช้อินเทอร์เฟซแบบกราฟิก

เรกซา ไซรัสเรกซา ไซรัส อ่าน 10 นาที
ภาพประกอบคู่มือแก้ปัญหา DNS พร้อมสัญลักษณ์เตือนและเซิร์ฟเวอร์สีฟ้าบนพื้นหลังมืด สำหรับข้อผิดพลาด Name Resolution ของ Linux
ความปลอดภัยและเครือข่าย

Temporary Failure in Name Resolution คืออะไร และแก้ไขอย่างไร?

ขณะใช้งาน Linux คุณอาจพบข้อผิดพลาด Temporary Failure in Name Resolution เมื่อพยายามเปิดเว็บไซต์ อัปเดตแพ็กเกจ หรือรันงานที่ต้องใช้การเชื่อมต่ออินเทอร์เน็ต

เรกซา ไซรัสเรกซา ไซรัส อ่าน 12 นาที

พร้อม Deploy แล้วหรือยัง? เริ่มต้นที่ $2.48/เดือน

Cloud อิสระ ให้บริการมาตั้งแต่ปี 2008. AMD EPYC, NVMe, 40 Gbps. คืนเงินภายใน 14 วัน