วิธีแก้ไข “การเชื่อมต่อ ssh ถูกปฏิเสธ” บน Linux

วิธีแก้ไข “การเชื่อมต่อ ssh ถูกปฏิเสธ” บน Linux

ได้รับข้อผิดพลาด "การเชื่อมต่อถูกปฏิเสธ" เมื่อพยายามเชื่อมต่อผ่าน SSH บน Linux ? ถ้าใช่ คู่มือนี้เหมาะสำหรับคุณ! ปฏิบัติตามด้านล่างในขณะที่เราแก้ไขข้อผิดพลาด "การเชื่อมต่อถูกปฏิเสธ" ในระบบ Linux ของคุณ! 

วิธีแก้ไข “การเชื่อมต่อ ssh ถูกปฏิเสธ” บน Linux

แก้ไข 1 – พอร์ต 22 ถูกบล็อกโดยไฟร์วอลล์

สาเหตุหนึ่งที่เป็นไปได้ที่คุณอาจได้รับ "การเชื่อมต่อ ssh ถูกปฏิเสธ" ขณะเชื่อมต่อกับเดสก์ท็อปหรือเซิร์ฟเวอร์ Linux ที่มีเซิร์ฟเวอร์ OpenSSH ตั้งค่าไว้คือไฟร์วอลล์บล็อกพอร์ตเริ่มต้น

เพื่อแก้ปัญหานี้ คุณสามารถปลดบล็อกพอร์ต 22 โดยใช้ไฟร์วอลล์ของคุณ ในคู่มือนี้ เราจะแสดงวิธีปลดบล็อกพอร์ต 22 โดยใช้ไฟร์วอลล์บรรทัดคำสั่ง UFW สำหรับ Ubuntu/Debian และดิสทริบิวชันอื่นๆ ที่ใช้ UFW นอกจากนี้เรายังจะครอบคลุม FirewallD สำหรับผู้ที่ใช้ RedHat distribution เช่น Fedora, RHEL เป็นต้น

หมายเหตุ: หากคุณใช้ระบบไฟร์วอลล์อื่นที่ไม่ใช่ UFW หรือ Firewalld บน Linux คุณจะต้องศึกษาคู่มือซอฟต์แวร์ของคุณเพื่อเรียนรู้วิธีปลดบล็อกพอร์ต 22

ในการเริ่มต้นกระบวนการปลดบล็อก คุณจะต้องมีหน้าต่างเทอร์มินัล เปิดเซสชันเทอร์มินัลบนเดสก์ท็อป Linux หรือเซิร์ฟเวอร์ Linux ที่โฮสต์เซิร์ฟเวอร์ OpenSSH ของคุณ เมื่อหน้าต่างเทอร์มินัลเปิดขึ้น ให้ปฏิบัติตามคำแนะนำในการเลิกบล็อกที่สอดคล้องกับไฟร์วอลล์ที่คุณใช้

เลิกบล็อกพอร์ต 22 บน Ubuntu, Debian และระบบปฏิบัติการ Linux อื่น ๆ ที่ใช้ UFW 

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

ใน terminal, รัน  sudo ufw อนุญาตให้ SSHคำสั่ง คำสั่งนี้จะบอกให้ไฟร์วอลล์ UFW อนุญาตโปรไฟล์ "ssh" ผ่านไฟร์วอลล์ ซึ่งโดยค่าเริ่มต้น พอร์ต 22

วิธีแก้ไข “การเชื่อมต่อ ssh ถูกปฏิเสธ” บน Linux

sudo ufw อนุญาต ssh

หากคุณใช้ SSH บนพอร์ตที่กำหนดเองอื่นที่ไม่ใช่พอร์ต 22 การป้อน  คำสั่งallow ssh จะไม่ทำงาน และ UFW จะบล็อกการเชื่อมต่อต่อไป ในการแก้ไขปัญหานี้ คุณสามารถใช้  คำสั่งufw allow และระบุพอร์ตที่จะปลดบล็อก

ตัวอย่างเช่น หากเดสก์ท็อปหรือเซิร์ฟเวอร์ Linux ของคุณใช้งาน OpenSSH บนพอร์ต 443 ที่กำหนดเอง คุณสามารถปลดบล็อกผ่านไฟร์วอลล์ UFW ได้โดยใช้คำสั่งด้านล่าง

sudo ufw อนุญาต 443/tcp

ในการปลดบล็อกพอร์ต SSH ที่กำหนดเองด้วยไฟร์วอลล์ UFW บน Ubuntu, Debian หรือเซิร์ฟเวอร์/เดสก์ท็อปอื่นๆ ที่ใช้งานไฟร์วอลล์ UFW ให้ระบุพอร์ตพร้อมกับคำสั่งallow 

sudo ufw อนุญาต MY_CUSTOM_SSH_PORT/tcp

เลิกบล็อกพอร์ต 22 บน Fedora, RHEL และระบบปฏิบัติการ Linux อื่นๆ ที่ใช้ FirewallD

หากคุณใช้เซิร์ฟเวอร์หรือเดสก์ท็อปที่ใช้ Fedora, RHEL หรือระบบปฏิบัติการ Linux อื่นที่ใช้ Redhat คุณน่าจะใช้ Firewalld หากคุณได้รับข้อผิดพลาด "การเชื่อมต่อถูกปฏิเสธ" อาจเป็นเพราะพอร์ต 22 ถูกบล็อก ต่อไปนี้เป็นวิธีเปิดใช้งานด้วย FirewallD

ก่อนอื่น คุณต้องลงชื่อเข้าใช้บัญชีรูทในเทอร์มินัล จำเป็นต้องเข้าถึงรูทเพื่อแก้ไขการตั้งค่าการกำหนดค่า FirewallD ในการเข้าถึงบัญชีรูท ให้รันคำสั่งsu – ต่อไปนี้

ซู - 

หลังจากเข้าถึงบัญชีรูทโดยใช้  คำสั่งsu แล้ว ให้ใช้คำสั่ง  firewall-cmd เพื่อเพิ่มกฎไฟร์วอลล์ใหม่ที่อนุญาตให้พอร์ต 22 ถึง (ทราฟฟิก SSH)

firewall-cmd --zone=public --add-port=22/tcp --permanent

หากคุณกำลังเรียกใช้ SSH บนพอร์ตแบบกำหนดเองแทนที่จะเป็นพอร์ต 22 คำสั่งดังกล่าวจะไม่ทำงาน คุณจะต้องเปลี่ยนคำสั่ง “add-port=22” เป็นพอร์ตที่คุณกำหนดเองแทน

firewall-cmd --zone=public --add-port=MY_CUSTOM_SSH_PORT/tcp --permanent

เมื่อคุณได้เพิ่มกฎใหม่ให้กับการกำหนดค่าไฟร์วอลล์แล้ว คุณจะต้องใช้การตั้งค่าใหม่ ใช้การตั้งค่าเหล่านี้ดำเนินการ  -reload ไฟร์วอลล์ cmd คำสั่ง

firewall-cmd --reload

แก้ไข 2 – บริการ OpenSSH ไม่ทำงาน

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

สถานะ systemctl sshd

หลังจากรันคำสั่งสถานะ คุณจะเห็นการอ่านค่าของบริการ sshd ซึ่งเป็นไฟล์ที่อนุญาตให้เซิร์ฟเวอร์ OpenSSH ทำงานบนระบบปฏิบัติการ Linux ส่วนใหญ่ 

ดูการอ่านข้อมูล SSH สำหรับส่วน "ใช้งานอยู่" หากมีข้อความว่า "ใช้งานอยู่: ไม่ได้ใช้งาน (ไม่ทำงาน)" บริการ OpenSSH ของคุณจะหยุดทำงานและจำเป็นต้องเริ่มต้นใหม่ หากมีข้อความว่า “ใช้งานอยู่ (ทำงานอยู่)” คุณจะต้องลองแก้ไขอื่นเพื่อดูว่าเหตุใดการเชื่อมต่อจึงถูกปฏิเสธ

วิธีแก้ไข “การเชื่อมต่อ ssh ถูกปฏิเสธ” บน Linux

การเริ่มต้นการกลับมาให้บริการ OpenSSH ขึ้นอีกครั้งคุณสามารถดำเนินการ  systemctl เริ่มต้น sshd คำสั่ง

วิธีแก้ไข “การเชื่อมต่อ ssh ถูกปฏิเสธ” บน Linux

sudo systemctl start sshd

แก้ไข 2.5 - ไม่ได้เปิดใช้งานบริการ OpenSSH

อีกสาเหตุที่เป็นไปได้สำหรับ OpenSSH ที่ปฏิเสธการเชื่อมต่อคือข้อเท็จจริงง่ายๆ ว่าบริการ sshd ของ OpenSSH ไม่ได้เปิดใช้งานเมื่อเริ่มต้น หากไม่เปิดใช้งานเมื่อเริ่มต้น SSH อาจหยุดทำงานทุกครั้งที่รีสตาร์ท ทำให้เกิดปัญหาในการเชื่อมต่อ เพื่อแก้ไขปัญหานี้ คุณสามารถรันคำสั่ง systemctl ต่อไปนี้

sudo systemctl เปิดใช้งาน sshd 

แก้ไข 3 – OpenSSH ทำงานบนพอร์ตอื่น

ผู้ใช้หลายคนชอบปรับแต่งการกำหนดค่า SSH เมื่อตั้งค่าเซิร์ฟเวอร์ SSH สิ่งหนึ่งที่ต้องทำบ่อยที่สุดคือเปลี่ยนพอร์ตเริ่มต้นจาก 22 เป็นอย่างอื่น

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

ssh my-user@my-server

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

ssh -p CUSTOM_PORT_NUMBER user@my-server


วิธีการติดตั้ง GitLab บน Ubuntu Server

วิธีการติดตั้ง GitLab บน Ubuntu Server

คุณต้องการให้ GitLab ทำงานบนเซิร์ฟเวอร์ Ubuntu ของคุณหรือไม่? GitLab เป็นทางเลือกที่โฮสต์ได้เองที่มีประสิทธิภาพสำหรับบริการต่างๆ เช่น GitHub ด้วยคุณสามารถ

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

การรักษาความปลอดภัยเซิร์ฟเวอร์ Ubuntu Linux ด้วย SELinux

เรียนรู้วิธีเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ Ubuntu Linux โดยการติดตั้งและเปิดใช้งาน SELinux

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

กำหนดค่า NFS บนเซิร์ฟเวอร์ Linux ด้วย Cockpit

ต้องการวิธีที่ง่ายกว่าในการเมานต์การแชร์ NFS บนเซิร์ฟเวอร์ Linux ของคุณหรือไม่ เรียนรู้วิธีเมานต์การแชร์ NFS ด้วยแอป Cockpit

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

วิธีอัปเกรดเป็น Ubuntu 22.04 LTS

การสนับสนุนระยะยาวของ Ubuntu 22.04 อยู่ที่นี่แล้ว! เรียนรู้วิธีอัปเกรดเดสก์ท็อปหรือแล็ปท็อปของคุณเป็น Ubuntu รุ่นล่าสุด

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีติดตั้งไดรเวอร์ Nvidia GPU ล่าสุดบน Linux

วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

วิธีถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker

ต้องการถ่ายโอนไฟล์ไปยังคอนเทนเนอร์ Docker ของคุณหรือไม่ ด้วยเครื่องมือ Docker cp คุณสามารถย้ายไฟล์เข้าและออกจากคอนเทนเนอร์ได้อย่างง่ายดาย

วิธีติดตั้งไฟล์ DEB บน Linux

วิธีติดตั้งไฟล์ DEB บน Linux

ไฟล์ DEB คืออะไร?? คุณจะทำอย่างไรกับมัน? เรียนรู้หลายวิธีที่คุณสามารถติดตั้งไฟล์ DEB บน Linux PC ของคุณ

วิธีทำให้ GOG Galaxy ทำงานบน Linux

วิธีทำให้ GOG Galaxy ทำงานบน Linux

คุณเป็นเจ้าของเกมบน GOG.com หรือไม่? ต้องการตั้งค่าไคลเอนต์ GOG Galaxy บนพีซี Linux ของคุณเพื่อเพลิดเพลินกับวิดีโอเกมหรือไม่? ทำตามคำแนะนำนี้ในขณะที่เราแสดง

วิธีการติดตั้ง Docker Engine บน CentOS

วิธีการติดตั้ง Docker Engine บน CentOS

Docker Engine เป็นโปรแกรมเปิดคอนเทนเนอร์สำหรับ Linux และแพลตฟอร์มอื่นๆ Docker Engine จัดการคอนเทนเนอร์ในตัวที่ทำงานคล้ายกับ

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

วิธีทำให้การแชททั้งหมดของคุณเป็นหนึ่งเดียวกับ Ferdi

คุณเหนื่อยกับการติดตั้ง Slack, Discord และเครื่องมือเพิ่มประสิทธิภาพอื่น ๆ บนระบบ Linux ของคุณหรือไม่? คุณหวังว่าพวกเขาจะรวมเป็นหนึ่งเดียวได้ไหม