การเชื่อมต่อ SSH ของสวิตช์ Cisco ถูกปฏิเสธหรือหมดเวลา? คู่มือการแก้ไขปัญหา C9200/C9300

ตามเรา:
ใช้ด่วน
ข้อความ "Connection refused" และ "SSH timeout" มักบ่งชี้ถึงปัญหาที่แตกต่างกัน ข้อความ "Refused connection" มักหมายความว่าสามารถเข้าถึง IP สำหรับการจัดการได้ แต่สวิตช์ไม่ยอมรับการเชื่อมต่อ SSH บนพอร์ต TCP 22 ส่วนข้อความ "Timeout" มักชี้ไปที่ปัญหาในเส้นทางการจัดการ ซึ่งอาจเกี่ยวข้องกับ VLAN, เส้นทาง (route), VRF, ACL, ไฟร์วอลล์ หรือสถานะของอินเทอร์เฟซ

หากการเชื่อมต่อ SSH ล้มเหลวบน Cisco Catalyst 9200, 9200L, 9300, 9300L หรือ 9500 ให้เริ่มต้นด้วยการตรวจสอบข้อความแสดงข้อผิดพลาดที่เกิดขึ้นอย่างละเอียด แทนที่จะเปลี่ยนการตั้งค่าทั้งหมด วิธีการแก้ไขปัญหาที่เร็วที่สุดคือการตรวจสอบการเข้าถึงการจัดการ สถานะบริการ SSH คีย์ RSA การตั้งค่า VTY การตรวจสอบสิทธิ์ และข้อจำกัดการเข้าถึง ตามลำดับ

คู่มือนี้เน้นที่ปัญหา SSH ที่เกิดขึ้นหลังการตั้งค่า การอัปเกรด IOS XE หรือการเปลี่ยนแปลงเครือข่ายการจัดการ คู่มือนี้ไม่ได้ใช้แทนคู่มือการตั้งค่า SSH พื้นฐานของ Cisco และไม่ควรใช้ลำดับคำสั่ง IOS XE เดียวกันในการวินิจฉัยปัญหาของสวิตช์ Catalyst 1300

1. เริ่มจากข้อความแสดงข้อผิดพลาด
2. ยืนยันเส้นทางการจัดการ
3. ตรวจสอบบริการ SSH และคีย์ RSA
4. ตรวจสอบการตั้งค่า VTY และการตรวจสอบสิทธิ์
5. แก้ไขปัญหา SSH หลังการอัปเกรด IOS XE
6. ขอบเขตการใช้งานของตัวเร่งปฏิกิริยา 9200, 9300, 9500 และ C1300
7. คำถามที่พบบ่อย
8. Takeaway สุดท้าย

เริ่มต้นด้วยข้อความแสดงข้อผิดพลาด

ข้อความจากฝั่งไคลเอ็นต์ที่แม่นยำจะช่วยกำหนดจุดเริ่มต้นได้ การหมดเวลา การปฏิเสธการเชื่อมต่อ และความล้มเหลวในการตรวจสอบสิทธิ์เกิดขึ้นในขั้นตอนต่างๆ ของกระบวนการ SSH

ข้อความจากลูกค้า โดยทั่วไปหมายความว่าอย่างไร การตรวจสอบเบื้องต้น
การเชื่อมต่อถูกปฏิเสธ สามารถเข้าถึงโฮสต์ได้ แต่พอร์ต TCP 22 ไม่ยอมรับการเชื่อมต่อ สถานะ SSH, คีย์ RSA, การขนส่ง VTY
หมดเวลาการเชื่อมต่อ ลูกค้าไม่สามารถดำเนินการต่อเพื่อเข้าสู่ส่วนติดต่อการจัดการได้ VLAN, การกำหนดเส้นทาง, VRF, ACL, ไฟร์วอลล์
ไม่มีเส้นทางไปยังโฮสต์ ลูกค้าไม่มีเส้นทางที่ใช้งานไปยังปลายทางได้ เกตเวย์เริ่มต้น, ตารางเส้นทาง, ซับเน็ตสำหรับการจัดการ
การอนุญาตถูกปฏิเสธ บริการ SSH ตอบสนอง แต่การตรวจสอบสิทธิ์ล้มเหลว ชื่อผู้ใช้, AAA, รหัสผ่าน, วิธีการเข้าสู่ระบบ
คีย์โฮสต์หรือข้อผิดพลาดของรหัสลับ ไคลเอ็นต์และสวิตช์ไม่สามารถตกลงกันเกี่ยวกับพารามิเตอร์ SSH ได้ การเปิดตัว iOS XE, เวอร์ชัน SSH, อัลกอริทึมไคลเอ็นต์

สวิตช์สามารถตอบสนองต่อคำสั่ง Ping ได้ในขณะที่ยังคงปฏิเสธการเชื่อมต่อ SSH คำสั่ง Ping ยืนยันเพียงว่ามีการรับส่งข้อมูล IP ไปถึงอุปกรณ์เท่านั้น ไม่ได้พิสูจน์ว่าเซิร์ฟเวอร์ SSH เปิดใช้งานอยู่หรือว่าพอร์ต TCP 22 ได้รับอนุญาตให้ใช้งาน

ตรวจสอบเส้นทางการจัดการก่อนเปลี่ยน SSH

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

  • SVI สำหรับการจัดการหรืออินเทอร์เฟซการจัดการใช้ที่อยู่ IP ที่คาดไว้หรือไม่
  • อินเทอร์เฟซใช้งานได้หรือไม่?
  • ลูกค้ารายนี้อยู่ใน VLAN สำหรับการจัดการที่ถูกต้องหรือไม่?
  • เกตเวย์เริ่มต้นหรือเส้นทางเริ่มต้นใช้งานได้หรือไม่?
  • สวิตช์นี้ใช้ VRF สำหรับการจัดการหรือไม่?
  • พอร์ต TCP 22 ถูกบล็อกโดยไฟร์วอลล์หรือ ACL ฝั่งต้นทางหรือไม่?
  • ลูกค้ากำลังเชื่อมต่อกับที่อยู่ถูกต้องหรือไม่?

ใช้คำสั่งต่อไปนี้จากคอนโซลหรือเซสชันการจัดการที่ใช้งานได้อื่นๆ:

แสดงย่อส่วนต่อประสาน ip แสดงการตั้งค่าที่กำลังทำงาน | ส่วนอินเทอร์เฟซ VLAN แสดงการตั้งค่าที่กำลังทำงาน | ส่วน vrf แสดงรายการการเข้าถึง

อินเทอร์เฟซการจัดการควรมีที่อยู่ตามที่คาดไว้และสถานะการทำงาน หาก SVI ขัดข้อง การตรวจสอบคีย์ RSA หรือสาย VTY จะไม่ช่วยแก้ปัญหา

สำหรับไคลเอ็นต์ที่อยู่ในซับเน็ตอื่น ให้ตรวจสอบเส้นทางทั้งหมดในทั้งสองทิศทาง ไฟร์วอลล์อาจอนุญาต ICMP ในขณะที่บล็อก TCP/22 ซึ่งอาจทำให้ Ping สำเร็จ แต่ SSH เกิดการหมดเวลา

ตรวจสอบบริการ SSH และคีย์ RSA

หลังจากตรวจสอบการเชื่อมต่อแล้ว ให้ตรวจสอบบริการ SSH อีกครั้ง:

แสดง ip ssh แสดง ssh

การขอ show ip ssh คำสั่งนี้จะแสดงเวอร์ชัน SSH และพารามิเตอร์ต่างๆ เช่น เวลาหมดอายุการตรวจสอบสิทธิ์และจำนวนครั้งที่ลองใหม่ show ssh คำสั่งนี้จะแสดงการเชื่อมต่อเซิร์ฟเวอร์ SSH ที่ใช้งานอยู่

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

หากปิดใช้งาน SSH ให้ตรวจสอบว่าอุปกรณ์มีคู่คีย์ RSA ที่ใช้งานได้หรือไม่ Cisco ระบุว่าจำเป็นต้องสร้างคีย์ RSA สำหรับเซิร์ฟเวอร์ SSH บน IOS XE คู่มือการกำหนดค่า Cisco Secure Shell นอกจากนี้ยังอธิบายถึงการเลือกเวอร์ชัน SSH และข้อกำหนดของคีย์ RSA ด้วย

การกำหนดค่าอ้างอิงพื้นฐานของ iOS XE อาจประกอบด้วย:

ชื่อโฮสต์ C9200 ตัวอย่างชื่อโดเมน IP example.com ชื่อผู้ใช้ admin สิทธิ์ 15 secret สร้างรหัสเข้ารหัส RSA โมดูลัส 2048 ไอพี ssh เวอร์ชัน 2

นี่คือเอกสารอ้างอิงสำหรับการแก้ไขปัญหา ไม่ใช่ไฟล์กำหนดค่าที่สามารถคัดลอกและวางได้ทั่วไป ขนาดคีย์ รูปแบบการตรวจสอบสิทธิ์ และไวยากรณ์คำสั่งที่ถูกต้องควรตรงกับรุ่นของสวิตช์ เวอร์ชัน IOS XE และนโยบายความปลอดภัย

ตรวจสอบการตั้งค่า VTY และการตรวจสอบสิทธิ์

หากเปิดใช้งานบริการ SSH แล้ว แต่ไคลเอนต์ยังคงได้รับข้อความอยู่ Connection refused หรือหากการเชื่อมต่อถูกตัดทันที โปรดตรวจสอบการตั้งค่า VTY:

แสดงการตั้งค่าที่กำลังทำงาน | ส่วนบรรทัด vty

ตัวอย่างการตรวจสอบสิทธิ์ในพื้นที่อาจมีลักษณะดังนี้:

บรรทัด vty 0 4 เข้าสู่ระบบท้องถิ่น อินพุตการขนส่ง ssh

หากสาย VTY อนุญาตเฉพาะ Telnet หรือไม่อนุญาตให้ใช้ SSH สวิตช์อาจปฏิเสธการเชื่อมต่อ SSH แม้ว่าจะสามารถเข้าถึง IP สำหรับการจัดการได้ก็ตาม

ปัญหาการตรวจสอบสิทธิ์ที่พบบ่อย

  • ไม่มีการสร้างคีย์ RSA ขึ้นมา
  • ip ssh version 2 ขาดหายไปหรือไม่ตรงกับข้อมูลลูกค้า
  • บรรทัด VTY ไม่อนุญาตให้ใช้ SSH
  • login local ฟังก์ชันนี้หายไปเมื่อต้องการตรวจสอบสิทธิ์ในพื้นที่
  • ไม่มีชื่อผู้ใช้ที่กำหนดค่าไว้ หรือชื่อผู้ใช้นั้นมีสิทธิ์ไม่ถูกต้อง
  • เซิร์ฟเวอร์ AAA ไม่พร้อมใช้งาน
  • คลาสการเข้าถึง VTY จะบล็อกที่อยู่ต้นทางของไคลเอ็นต์

ตรวจสอบด้วยว่ามีการกำหนด access-class ให้กับบรรทัด VTY หรือไม่:

แสดงการตั้งค่าที่กำลังทำงาน | ส่วนบรรทัด vty แสดงรายการการเข้าถึง

คลาสการเข้าถึง VTY สามารถอนุญาตเฉพาะซับเน็ตต้นทางหรือโฮสต์การจัดการที่ระบุเท่านั้น ซึ่งอาจทำให้เกิดสถานการณ์ที่ SSH ทำงานได้จากเครือข่ายหนึ่ง แต่ล้มเหลวจากอีกเครือข่ายหนึ่ง

หากสวิตช์ใช้ AAA แบบรวมศูนย์ โปรดตรวจสอบวิธีการตรวจสอบสิทธิ์และการเข้าถึงเซิร์ฟเวอร์ TACACS+ หรือ RADIUS ก่อนที่จะเปลี่ยนแปลงการกำหนดค่าชื่อผู้ใช้ในเครื่อง การเปลี่ยนการตั้งค่า AAA ในระหว่างที่ระบบขัดข้องอาจทำให้เส้นทางการเข้าถึงที่ยังใช้งานได้อยู่หายไป

แก้ไขปัญหา SSH หลังการอัปเกรด iOS XE

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

เปรียบเทียบผลลัพธ์ก่อนและหลังการอัปเกรดสำหรับ:

แสดง ip ssh แสดงการตั้งค่าที่กำลังทำงาน | ส่วนบรรทัด vty แสดงการตั้งค่าที่กำลังทำงาน | รวมชื่อผู้ใช้ แสดงการตั้งค่าที่กำลังทำงาน | รวม IP SSH แสดงการตั้งค่าที่กำลังทำงาน | รวมคีย์เข้ารหัส แสดงย่อส่วนต่อประสาน ip

การตรวจสอบหลังการอัปเกรด

  • ตรวจสอบให้แน่ใจว่า IP สำหรับการจัดการยังคงได้รับการกำหนดค่าบนอินเทอร์เฟซที่ต้องการใช้งาน
  • ตรวจสอบว่าคีย์โฮสต์ RSA ยังคงอยู่หรือไม่
  • ตรวจสอบว่าได้เปิดใช้งาน SSH เวอร์ชัน 2 แล้ว
  • ตรวจสอบให้แน่ใจว่าบรรทัด VTY ยังคงอนุญาตให้ใช้ SSH ได้
  • ยืนยันว่ารายการวิธีการ AAA และการเข้าถึงเซิร์ฟเวอร์ยังคงไม่เปลี่ยนแปลง
  • ตรวจสอบว่าไคลเอ็นต์ปฏิเสธการสลับเนื่องจากการแลกเปลี่ยนคีย์ การเข้ารหัส หรืออัลกอริธึมคีย์โฮสต์ไม่ได้รับการสนับสนุนหรือไม่
  • ตรวจสอบให้แน่ใจว่าไคลเอ็นต์ใช้ VRF การจัดการที่ถูกต้องเมื่อมีการกำหนดค่า VRF ดังกล่าว

อย่าด่วนสรุปว่าการอัปเกรดเป็นสาเหตุหลักของปัญหา ให้เปรียบเทียบการตั้งค่าจริงและข้อผิดพลาดของไคลเอ็นต์ก่อนทำการเปลี่ยนแปลงใดๆ

ขอบเขตการใช้งานของ Catalyst 9200, 9300, 9500 และ C1300

แนวทางการแก้ไขปัญหาดังกล่าวมีไว้สำหรับแพลตฟอร์ม Cisco Catalyst ที่ใช้ IOS XE ซึ่งรวมถึงสวิตช์ Access รุ่น C9200-24P-E, C9200-48P-E, C9200L, สวิตช์ C9300 และ C9300L, C9500-16X และ C9500-24Y4C

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

Catalyst 1300 เป็นกรณีพิเศษ

อย่านำคำสั่ง IOS XE ในคู่มือนี้ไปใช้กับ Cisco Catalyst 1300 โดยตรง เนื่องจาก Catalyst 1300 ใช้ซอฟต์แวร์และการออกแบบการจัดการที่แตกต่างกัน โดยมี Web UI และพฤติกรรม CLI เฉพาะแพลตฟอร์ม

หากอุปกรณ์เป็นรุ่น C1300 ให้ตรวจสอบรุ่นและอินเทอร์เฟซซอฟต์แวร์ให้แน่ชัดก่อน ใช้เอกสารการจัดการและการใช้งาน CLI ของ Catalyst 1300 ที่เกี่ยวข้องแทนที่จะสันนิษฐานว่าคำสั่งสำหรับ C9200 หรือ C9300 จะใช้ได้เช่นกัน

ข้อมูลที่ต้องส่งสำหรับการตรวจสอบการกำหนดค่า

หากไม่สามารถแก้ไขปัญหาในพื้นที่ได้ โปรดเตรียมข้อมูลต่อไปนี้:

  • รุ่นและรหัสสินค้าของสวิตช์ที่แน่นอน
  • เวอร์ชัน iOS XE
  • ข้อความแสดงข้อผิดพลาดจากไคลเอ็นต์ SSH
  • ที่อยู่ IP ต้นทางและที่อยู่ IP สำหรับการจัดการปลายทาง
  • ไม่ว่า Ping จะประสบความสำเร็จหรือไม่
  • เอาท์พุตจาก show ip ssh
  • เอาท์พุตจาก show ssh
  • ผลลัพธ์จากการตั้งค่า VTY
  • อินเทอร์เฟซการจัดการหรือสถานะ SVI
  • ไม่ว่าสวิตช์จะใช้ AAA หรือ VRF สำหรับการจัดการก็ตาม
  • ไม่ว่าปัญหาจะเริ่มต้นหลังจากอัปเกรดหรือเปลี่ยนแปลงการตั้งค่าก็ตาม
ต้องการความช่วยเหลือในการวินิจฉัยปัญหา Cisco SSH ใช่ไหม?

โปรดส่งรุ่นรถ เวอร์ชัน iOS XE ข้อความแสดงข้อผิดพลาด และผลลัพธ์ของคำสั่งเพื่อตรวจสอบ

คำถามที่พบบ่อย (FAQs)

Q1 ทำไมฉันถึงสามารถ ping สวิตช์ Cisco ของฉันได้ แต่ไม่สามารถ SSH เข้าไปได้?

Ping และ SSH ใช้โปรโตคอลที่แตกต่างกัน สวิตช์อาจตอบสนองต่อ ICMP ในขณะที่พอร์ต TCP 22 ถูกปิดใช้งาน บล็อกโดย ACL จำกัดโดยคลาสการเข้าถึง VTY หรือไม่สามารถใช้งานได้เนื่องจากคีย์ RSA หายไป

Q2 ข้อความ "Connection refused" บนสวิตช์ Cisco หมายความว่าอย่างไร?

โดยปกติแล้วหมายความว่าสามารถเข้าถึง IP ปลายทางได้ แต่การเชื่อมต่อ SSH ไม่ได้รับการยอมรับ โปรดตรวจสอบ show ip sshรวมถึงคีย์ RSA, การตั้งค่าการขนส่ง VTY และข้อจำกัดการเข้าถึง

Q3 ความแตกต่างระหว่าง SSH timeout และ connection refused คืออะไร?

โดยปกติแล้ว ข้อความ "หมดเวลา" บ่งชี้ว่าไคลเอนต์ไม่สามารถดำเนินการตามขั้นตอนการจัดการได้สำเร็จ ส่วนข้อความ "การเชื่อมต่อถูกปฏิเสธ" บ่งชี้ว่าสามารถติดต่อโฮสต์ได้แล้ว แต่ไม่มีบริการ SSH ใดรับการเชื่อมต่อ TCP โปรดตรวจสอบข้อผิดพลาดทั้งสองแยกกัน

Q4 ฉันจะตรวจสอบได้อย่างไรว่า SSH เปิดใช้งานอยู่หรือไม่?

วิ่ง show ip ssh จากคอนโซลหรือเซสชันการจัดการที่ใช้งานได้อื่นๆ ผลลัพธ์ควรระบุเวอร์ชัน SSH ที่เปิดใช้งานและพารามิเตอร์การตรวจสอบสิทธิ์เมื่อบริการทำงานอยู่

Q5 คำสั่ง `transport input ssh` ทำหน้าที่อะไร?

ฟังก์ชันนี้อนุญาตให้เชื่อมต่อ SSH บนบรรทัด VTY ที่เลือกไว้ แต่ไม่ได้ทดแทนความจำเป็นในการใช้ IP สำหรับการจัดการที่สามารถเข้าถึงได้, คีย์ RSA, การตรวจสอบสิทธิ์ หรือข้อจำกัดการเข้าถึง VTY ที่เหมาะสม

Q6 เหตุใด SSH จึงใช้งานไม่ได้หลังจากอัปเกรดเป็น IOS XE?

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

Q7 ฉันสามารถใช้วิธีการนี้กับ Catalyst 1300 ได้หรือไม่?

ไม่โดยตรง Catalyst 1300 ใช้แพลตฟอร์มและรูปแบบการจัดการที่แตกต่างกัน โปรดใช้เอกสารการดูแลระบบและคำสั่ง CLI เฉพาะของมันแทนที่จะสันนิษฐานว่าคำสั่ง IOS XE สามารถนำมาใช้ได้

รอบชิงชนะเลิศ Takeaway

การแก้ไขปัญหา SSH จะรวดเร็วยิ่งขึ้นเมื่อพิจารณาข้อความแสดงข้อผิดพลาดเป็นเบาะแสในการวินิจฉัย แทนที่จะเป็นความล้มเหลวในการกำหนดค่าทั่วไป

เริ่มต้นด้วยการตรวจสอบเส้นทางการจัดการเพื่อหาสาเหตุของการหมดเวลา ตรวจสอบบริการ SSH, คีย์ RSA และบรรทัด VTY เพื่อหาการปฏิเสธการเชื่อมต่อ ตรวจสอบชื่อผู้ใช้, AAA และข้อจำกัดการเข้าถึงเมื่อสวิตช์แสดงข้อความแจ้งให้ยืนยันตัวตนแต่ปฏิเสธการเข้าสู่ระบบ

สำหรับการตรวจสอบเฉพาะการกำหนดค่า โปรดส่งรุ่นที่แน่นอน เวอร์ชัน IOS XE ข้อผิดพลาดของไคลเอ็นต์ และผลลัพธ์คำสั่งที่เกี่ยวข้องผ่านทางช่องทางที่กำหนด หน้าสอบถามข้อมูลสวิตช์ Cisco.