ค้นหาเว็บไซต์

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


SSH หรือ Secure Shell daemon เป็นโปรโตคอลเครือข่ายที่ใช้ในการเข้าสู่ระบบ Linux อย่างปลอดภัยจากระยะไกลผ่านช่องทางที่ปลอดภัยผ่านเครือข่ายที่ไม่ปลอดภัยโดยใช้การเข้ารหัสที่รัดกุม

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

พอร์ตมาตรฐานที่ใช้โดยบริการ SSH คือ 22/TCP อย่างไรก็ตาม คุณอาจต้องการเปลี่ยนพอร์ตเริ่มต้น SSH ในเซิร์ฟเวอร์ Linux ของคุณ เพื่อให้ได้รับการรักษาความปลอดภัยบางประเภทผ่านความสับสน เนื่องจากพอร์ต 22/TCP มาตรฐานถูกกำหนดเป้าหมายอย่างต่อเนื่องสำหรับช่องโหว่ของแฮกเกอร์และบอทในอินเทอร์เน็ต .

หากต้องการเปลี่ยนพอร์ตเริ่มต้นของบริการ SSH ใน Linux ก่อนอื่นคุณต้องเปิดไฟล์การกำหนดค่า SSH daemon หลักเพื่อแก้ไขด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบโดยออกคำสั่งด้านล่างและทำการเปลี่ยนแปลงต่อไปนี้

vi /etc/ssh/sshd_config

ในไฟล์ sshd_config ให้ค้นหาและแสดงความคิดเห็นในบรรทัดที่ขึ้นต้นด้วย พอร์ต 22 โดยเพิ่มแฮชแท็ก (#) ที่ด้านหน้าบรรทัด ด้านล่างบรรทัดนี้ ให้เพิ่มบรรทัดพอร์ตใหม่และระบุพอร์ตที่คุณต้องการเพื่อผูก SSH

ในตัวอย่างนี้ เราจะกำหนดค่าบริการ SSH เพื่อเชื่อมโยงและฟังบนพอร์ต 34627/TCP ตรวจสอบให้แน่ใจว่าคุณเลือกพอร์ตแบบสุ่ม โดยควรสูงกว่า 1024 (ขีดจำกัดที่เหนือกว่าของพอร์ตมาตรฐานที่รู้จัก) พอร์ตสูงสุดที่สามารถตั้งค่าสำหรับ SSH คือ 65535/TCP

#Port 22
Port 34627

หลังจากที่คุณได้ทำการเปลี่ยนแปลงข้างต้นแล้ว ให้รีสตาร์ท SSH daemon เพื่อให้สอดคล้องกับการเปลี่ยนแปลงและออก netstat หรือ คำสั่ง ss เพื่อยืนยันว่าบริการ SSH ฟังบนพอร์ต TCP ใหม่

systemctl restart ssh
netstat -tlpn| grep ssh
ss -tlpn| grep ssh

ในการกระจายที่ใช้ CentOS หรือ RHEL Linux ให้ติดตั้งแพ็คเกจ policycoreutils และเพิ่มกฎด้านล่างเพื่อผ่อนปรนนโยบาย SELinux เพื่อให้ SSH daemon เชื่อมโยง พอร์ตใหม่

yum install policycoreutils
semanage port -a -t ssh_port_t -p tcp 34627
semanage port -m -t ssh_port_t -p tcp 34627
systemctl restart sshd
netstat -tlpn| grep ssh
ss -tlpn| grep ssh

นอกจากนี้ อย่าลืมอัปเดตกฎไฟร์วอลล์เฉพาะสำหรับการแจกจ่าย Linux ที่คุณติดตั้งไว้ เพื่ออนุญาตการเชื่อมต่อขาเข้าบนพอร์ต SSH ที่เพิ่มใหม่