แก้ไขปัญหาการเชื่อมต่อ ssh
Secure Shell (SSH) เป็นโปรโตคอลที่สำคัญสำหรับการเข้าถึงระยะไกล
เซิร์ฟเวอร์อย่างปลอดภัย แม้จะมีความน่าเชื่อถือ แต่ผู้ใช้อาจเผชิญ
ปัญหาการเชื่อมต่อเมื่อทำงานกับ SSH คู่มือนี้จะพูดถึง
ปัญหาการเชื่อมต่อ SSH ทั่วไปและมอบแนวทางแก้ไขสำหรับการวินิจฉัย
และแก้ไขพวกเขา
ข้อกำหนดเบื้องต้น
-
การเข้าถึงระดับผู้ดูแลระบบ: ข้อมูลการเข้าสู่ระบบด้วย
สิทธิ์ที่จำเป็นบนเซิร์ฟเวอร์ที่คุณกำลังพยายาม
เข้าถึง. -
การเข้าถึงเครือข่าย: การเชื่อมต่ออินเทอร์เน็ตที่เสถียรและ
ความสามารถในการเข้าถึงเครือข่ายของเซิร์ฟเวอร์ -
ลูกค้า SSH: ติดตั้งไคลเอ็นต์ SSH ที่ใช้งานได้แล้ว
เครื่องท้องถิ่นของคุณ เช่น OpenSSH หรือ PuTTY -
ข้อมูลเซิร์ฟเวอร์: ที่อยู่ IP ของเซิร์ฟเวอร์ SSH
หมายเลขพอร์ต (ค่าเริ่มต้นคือ 22) และบัญชีผู้ใช้ที่เหมาะสม
ข้อมูล. -
สิทธิ์: หากใช้การรับรองความถูกต้องด้วยคีย์
ตรวจสอบให้แน่ใจว่ารหัสส่วนตัวของคุณพร้อมใช้งานและมีสิทธิ์ที่ถูกต้อง
ชุด.
ปัญหาทั่วไปและ
สาเหตุ
การรับรองความถูกต้อง
ความล้มเหลว
ปัญหาเหล่านี้เกิดขึ้นเมื่อข้อมูลประจำตัวไม่ตรงกัน
ที่ให้ไว้และที่เซิร์ฟเวอร์คาดหวัง สถานการณ์ทั่วไป ได้แก่:
-
รหัสผ่านไม่ถูกต้อง: พิมพ์ผิดหรือล่าสุด
การเปลี่ยนรหัสผ่านอาจทำให้เกิดความล้มเหลวได้ -
ปัญหากุญแจสาธารณะ: หากฝั่งเซิร์ฟเวอร์
ได้รับอนุญาต_คีย์ ไฟล์ไม่มีสาธารณะที่ถูกต้อง
คีย์ หรือหากไม่ได้โหลดคีย์ส่วนตัวของลูกค้า การรับรองความถูกต้องจะดำเนินการ
ล้มเหลว. -
หนังสือรับรองหมดอายุ: บางระบบบังคับใช้
รหัสผ่านหรือนโยบายการหมดอายุของคีย์เพื่อความปลอดภัย
ปัญหาเครือข่าย
การเชื่อมต่ออาจสูญเสียไปเนื่องจากปัญหาเลเยอร์เครือข่าย เช่น:
-
ข้อจำกัดของไฟร์วอลล์: ไฟร์วอลล์อาจจะเป็น
กำหนดค่าให้บล็อกพอร์ต SSH เริ่มต้น (22) ซึ่งจำเป็นต้องเปลี่ยนกฎ
เพื่อให้สามารถสัญจรได้ -
การกำหนดค่า DNS ไม่ถูกต้อง: การตั้งค่า DNS ไม่ถูกต้องสามารถทำได้
ส่งผลให้ลูกค้าแก้ไขที่อยู่ IP ที่ไม่ถูกต้องสำหรับ
เซิร์ฟเวอร์ -
การหยุดชะงักของบริการ: อินเทอร์เน็ตไม่น่าเชื่อถือ
การเชื่อมต่อหรือปัญหาเครือข่ายฝั่งเซิร์ฟเวอร์สามารถรบกวน SSH ได้
เข้าถึง.
การกำหนดค่า SSH
ข้อผิดพลาด
การกำหนดค่าที่เหมาะสมของ SSH daemon และไคลเอ็นต์เป็นสิ่งสำคัญ
ปัญหาอาจรวมถึง:
-
sshd_config กำหนดค่าไม่ถูกต้อง: คำสั่งไม่ถูกต้อง
ในไฟล์การกำหนดค่า SSH ของเซิร์ฟเวอร์สามารถป้องกันการเชื่อมต่อได้ -
ปัญหาการกำหนดค่าไคลเอ็นต์: ไคลเอ็นต์ SSH
การกำหนดค่าต้องตรงกับความต้องการของเซิร์ฟเวอร์ เช่น
การยอมรับประเภทคีย์ที่ถูกต้องหรืออัลกอริธึมการเข้ารหัส
เซิร์ฟเวอร์โอเวอร์โหลดหรือ
หยุดทำงาน
การโหลดเซิร์ฟเวอร์ที่สูงอาจทำให้บริการ SSH ช้าลงหรือหยุดชะงักและกำหนดเวลาได้
หรือการหยุดทำงานที่ไม่ได้กำหนดไว้อาจทำให้เซิร์ฟเวอร์ชั่วคราวได้
ไม่สามารถเข้าถึงได้
ขั้นตอนการวินิจฉัย
หากต้องการระบุและแก้ไขปัญหาการเชื่อมต่อ SSH ให้ปฏิบัติตามสิ่งเหล่านี้
ขั้นตอนการวินิจฉัย:
กำลังตรวจสอบเครือข่าย
การเชื่อมต่อ
เริ่มต้นด้วยการยืนยันว่าการเชื่อมต่อเครือข่ายของคุณใช้งานได้และ
มั่นคง. ใช้เครื่องมือเช่น ปิง or
ตามรอย เพื่อตรวจสอบการเชื่อมต่อกับเซิร์ฟเวอร์ SSH
ที่อยู่ IP ซึ่งจะช่วยให้คุณทราบว่าปัญหาอยู่ที่เครือข่ายหรือไม่
ระดับ.
กำลังยืนยัน
ข้อมูลรับรอง
ตรวจสอบให้แน่ใจว่าข้อมูลรับรอง SSH ที่คุณใช้นั้นถูกต้องและ
ปัจจุบัน. สำหรับการเข้าสู่ระบบด้วยรหัสผ่าน ให้ตรวจสอบรหัสผ่านของคุณอีกครั้ง
เข้า สำหรับการเข้าสู่ระบบโดยใช้คีย์ SSH ให้ยืนยันว่าเป็นคีย์ส่วนตัว
โหลดในไคลเอนต์ SSH ของคุณและรหัสสาธารณะที่เกี่ยวข้องนั้นอยู่
มีอยู่ใน ได้รับอนุญาต_คีย์ ไฟล์บนเซิร์ฟเวอร์
กำลังตรวจสอบ SSH
การกำหนดค่า
ตรวจสอบไฟล์การกำหนดค่า SSH อย่างระมัดระวัง บนเซิร์ฟเวอร์
sshd_config ควรกำหนดค่าไฟล์เพื่ออนุญาตการเข้าถึง
ผ่านวิธีการที่ต้องการ (รหัสผ่านหรือคีย์) และมีพอร์ตที่ถูกต้อง
ระบุไว้ ในฝั่งไคลเอ็นต์ การกำหนดค่าควรตรงกับ
ข้อกำหนดโปรโตคอลของเซิร์ฟเวอร์
กำลังตรวจสอบเซิร์ฟเวอร์
บันทึก
บันทึกของเซิร์ฟเวอร์สามารถให้ข้อมูลเชิงลึกอันมีค่าเกี่ยวกับสาเหตุของ SSH
ความล้มเหลว ค้นหาข้อผิดพลาดในการรับรองความถูกต้องหรือข้อความที่เกี่ยวข้องกับการปฏิเสธ
การเชื่อมต่อ โดยทั่วไปบันทึกเหล่านี้จะอยู่ใน
/var/log/auth.log or
/var/log/secure.
ด้วยการทำตามขั้นตอนเหล่านี้อย่างเป็นระบบ คุณสามารถจำกัดขอบเขตให้แคบลงได้
สาเหตุของปัญหาการเชื่อมต่อ SSH
การแก้ไขปัญหา
และโซลูชั่นสำหรับการเชื่อมต่อ SSH
การแก้ปัญหาเครือข่าย
ปัญหา
หากต้องการปรับการตั้งค่าไฟร์วอลล์ ให้ใช้คำสั่งต่อไปนี้:
-
สำหรับอูบุนตู: sudo ufw allow 22 เพื่ออนุญาต SSH
การจราจรบนท่าเรือ 22 -
สำหรับ CentOS: sudo firewall-cmd –permanent
–เพิ่มบริการ=ssh ตามด้วย sudo firewall-cmd
–โหลดใหม่.

กำลังแก้ไขการรับรองความถูกต้อง
ปัญหา
หากคุณประสบปัญหากับการเข้าถึง SSH เนื่องจากการตรวจสอบสิทธิ์
ทำตามขั้นตอนต่อไปนี้:
- รีเซ็ตรหัสผ่าน: ภายในแผง Cloudzy ให้นำทาง
ไปที่ เข้าถึง แท็บแล้วคลิก รีเซ็ตคลาวด์ VPS
รหัสผ่าน เพื่อสร้างรหัสผ่านใหม่

-
การตรวจสอบคีย์ SSH: ใน SSH
กุญแจ ของแผง ตรวจสอบให้แน่ใจว่าคุณเข้าสู่สาธารณะ
คีย์ SSH อย่างถูกต้อง เส้นทางสู่ ได้รับอนุญาต_คีย์ ไฟล์
บนเซิร์ฟเวอร์ของคุณ ซึ่งโดยทั่วไปแล้วควรจะมีรหัสสาธารณะของคุณ
~/.ssh/authorized_keys. -
ตรวจสอบสิทธิ์: บนเซิร์ฟเวอร์ ให้ยืนยัน
สิทธิ์ของคุณ ~/.ssh ไดเรกทอรีและ
ได้รับอนุญาต_คีย์ ไฟล์ด้วย chmod 700
~/.ssh และ chmod 600
~/.ssh/authorized_keys.
กำลังปรับ SSH
การกำหนดค่า
สำหรับการปรับการกำหนดค่า:
-
ตรวจสอบและแก้ไขไฟล์การกำหนดค่าเซิร์ฟเวอร์ SSH ซึ่งอยู่ที่
/etc/ssh/sshd_config.php บนเซิร์ฟเวอร์ ตรวจสอบคำสั่ง
ชอบ PermitRootLogin ใช่ และ
การตรวจสอบรหัสผ่านใช่ เพื่อให้แน่ใจว่าตรงกับของคุณ
ความต้องการ. -
เริ่มบริการ SSH ใหม่เพื่อใช้การเปลี่ยนแปลงด้วย ซูโดะ
systemctl restart sshd.
กำลังตรวจสอบ DNS
การกำหนดค่า
ปัญหาเกี่ยวกับการกำหนดค่า DNS อาจทำให้เกิดการเชื่อมต่อ SSH
ปัญหา. ต่อไปนี้เป็นวิธีตรวจสอบการตั้งค่า DNS ทั้งบนไคลเอนต์และ
ฝั่งเซิร์ฟเวอร์:
- บนฝั่งไคลเอ็นต์ (Linux): ใช้คำสั่ง dig เพื่อ
สอบถามบันทึก DNS:
dig +short yourdomain.com
สิ่งนี้ควรส่งคืนที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ หากไม่เป็นเช่นนั้น
อาจมีปัญหากับการแก้ไข DNS บนไคลเอนต์ของคุณ
เครื่องจักร.

ทางฝั่งไคลเอ็นต์ (Windows): ใช้
nslookup ในพรอมต์คำสั่ง:
nslookup yourdomain.com
คล้ายกับ ขุดสิ่งนี้ควรส่งคืน IP ของเซิร์ฟเวอร์ของคุณ
ที่อยู่หาก DNS มีการแก้ไขอย่างถูกต้อง

- ทางฝั่งเซิร์ฟเวอร์: ตรวจสอบตัวแก้ไข DNS
ไฟล์การกำหนดค่าโดยทั่วไป /etc/resolv.confเพื่อทำ
ตรวจสอบให้แน่ใจว่าชี้ไปยังเซิร์ฟเวอร์ DNS ที่ถูกต้อง มันควรจะมีรายการ
คล้ายกับสิ่งต่อไปนี้:
nameserver 8.8.8.8
nameserver 8.8.4.4
เหล่านี้คือเซิร์ฟเวอร์ DNS สาธารณะของ Google และสามารถแทนที่ด้วยเซิร์ฟเวอร์เหล่านั้นได้
ให้บริการโดยบริการโฮสติ้งหรือ ISP ของคุณ

- การทดสอบการแก้ไข DNS บนเซิร์ฟเวอร์: ใช้
ขุด or nslookup สั่งการได้โดยตรง
เซิร์ฟเวอร์เพื่อให้แน่ใจว่าสามารถแก้ไขชื่อโดเมนเป็นที่อยู่ IP ถ้ามัน
ไม่สามารถแก้ไขชื่อโดเมนภายนอกได้ ซึ่งอาจบ่งบอกถึงปัญหาได้
บริการ DNS หรือการกำหนดค่าเครือข่ายบนเซิร์ฟเวอร์เอง
ทรัพยากรการติดตาม
ด้วยเอชทอป
ติดตั้ง ท็อป สำหรับการตรวจสอบแบบเรียลไทม์:
-
อูบุนตู: sudo apt-get install htop
-
CentOS: sudo yum install htop
ใช้ ท็อป เพื่อสังเกตการใช้งาน CPU หน่วยความจำ และการจัดการ
ประมวลผลโดยตรงภายในอินเทอร์เฟซ

การบำรุงรักษาเซิร์ฟเวอร์
สุขภาพ
อัปเดตเซิร์ฟเวอร์อยู่เสมอเพื่อป้องกันช่องโหว่ด้านความปลอดภัยและ
ปัญหาด้านประสิทธิภาพ:
-
อูบุนตู: ดำเนินการ sudo apt update && sudo apt
อัพเกรด เพื่ออัพเดตแพ็คเกจทั้งหมด -
CentOS: วิ่ง sudo yum update เพื่อรีเฟรช
ระบบ.
หากต้องการแก้ไขปัญหาการเชื่อมต่อ SSH อย่างมีประสิทธิภาพ ให้ตรวจสอบอย่างเป็นระบบ
และแก้ไขการตั้งค่า DNS ตรวจสอบข้อมูลรับรอง ปรับไฟร์วอลล์
กฎและตรวจสอบการกำหนดค่า SSH อัพเดทระบบและ
การติดตามทรัพยากรถือเป็นแนวทางปฏิบัติที่สำคัญในการรักษาเสถียรภาพ
และสภาพแวดล้อมเซิร์ฟเวอร์ที่ปลอดภัย เพียงปฏิบัติตามขั้นตอนเหล่านี้คุณก็จะมีได้
การเข้าถึง SSH ที่เชื่อถือได้สำหรับ VPS ของคุณ ลดการหยุดทำงานและเพิ่มประสิทธิภาพ
ความปลอดภัย. หากคุณต้องการข้อมูลเพิ่มเติมหรือความช่วยเหลือเพิ่มเติม โปรดรู้สึก
สามารถติดต่อทีมสนับสนุนของเราได้ฟรีโดย ส่ง
ตั๋ว.
นอกจากนี้ใน Secure Shell Protocol (SSH)
คู่มือที่เกี่ยวข้อง
ต้องการความช่วยเหลือเรื่องอื่นไหม?
เวลาตอบกลับเฉลี่ยน้อยกว่า 1 ชั่วโมง มนุษย์จริง ไม่ใช่บอท