SSH ไม่ทำงานจากคอมพิวเตอร์เครื่องเดียว


14

ฉันสามารถเชื่อมต่อจากคอมพิวเตอร์ทุกเครื่องบน LAN เช่นเดียวกับภายนอก มันเชื่อมต่อได้ดีกับเครื่องอื่น ๆ ที่ใช้ SSHD เมื่อพยายาม ssh ด้วยคำฟุ่มเฟื่อยฉันได้รับการอ่านต่อไปนี้:

$ ssh -vvv 192.168.1.9
OpenSSH_6.2p2, OpenSSL 1.0.1e 11 Feb 2013
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.9 [192.168.1.9] port 22.
debug1: Connection established.
debug1: identity file /home/Steven/.ssh/id_rsa type -1
debug1: identity file /home/Steven/.ssh/id_rsa-cert type -1
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/Steven/.ssh/id_dsa" as a RSA1 public key
debug1: identity file /home/Steven/.ssh/id_dsa type 2
debug1: identity file /home/Steven/.ssh/id_dsa-cert type -1
debug1: identity file /home/Steven/.ssh/id_ecdsa type -1
debug1: identity file /home/Steven/.ssh/id_ecdsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Connection reset by peer

มีความคิดอะไรที่ฉันอาจทำให้เกิดความยุ่งเหยิง? ฉันจำไม่ได้ว่าการเปลี่ยนแปลงในไฟล์กำหนดค่า SSH เพียงเพิ่มผู้ใช้บางกลุ่มในการทดลองใช้สิทธิ์ แม้ว่าฉันจะไม่พยายามระบุบัญชี (ดังกล่าว) ก็ยังคงแฮงค์ที่ "สตริงรุ่นท้องถิ่น SSH-2.0-OpenSSH_6.2" เป็นเวลาหนึ่งนาทีก่อนที่จะให้ข้อผิดพลาดสุดท้าย ฉันใช้ Ubuntu Server 12.04 x86 สำหรับสิ่งที่คุ้มค่า


1
คุณลองระบุ/dev/nullเป็นไฟล์ข้อมูลประจำตัวหรือไม่
Ignacio Vazquez-Abrams

1
คุณได้ตรวจสอบบันทึกที่เกี่ยวข้อง ssh ในเซิร์ฟเวอร์ระยะไกลเช่น 192.168.1.9?
ราหุลปาติล

1
ดูเหมือนปัญหาเครือข่าย tcpdump -i eth0 -n host 192.168.1.9 and tcp port 22คุณสามารถเรียกใช้ คุณอาจลองใช้ ssh-agent และssh-add /home/Steven/.ssh/id_dsa
Hauke ​​Laging

ลองดูโซลูชันบางอย่างในคำถาม & คำตอบ SU นี้: superuser.com/questions/568891/…
slm

การเปลี่ยนแปลงที่คุณทำคืออะไรก่อนที่ปัญหานี้
ราหุลปาติล

คำตอบ:


14

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

ทางออกเดียวคือรีสตาร์ทกระบวนการในด้านระยะไกล


2

ฉันมีปัญหาเดียวกันนี้สิ่งที่ฉันพบคือ IP keept ของฉันเพิ่มลงในไฟล์ etc / hosts.deny

ฉันแก้ไขได้โดยเพียงเข้าสู่เซิร์ฟเวอร์ VPS อื่นจากนั้นเชื่อมต่อ ssh ไปยัง VPS ที่ถูกบล็อกและลบ IP (โฮมสแตติก) ของฉันออกจากไฟล์ hosts.deny


1

ความพยายามครั้งแรกของฉันคือค้นหา " ssh_exchange_identification: read: Connection reset by peer" และตรวจสอบไขว้กับซอร์สโค้ด แต่น่าเสียดายที่ฉันไม่พบเลย ดังนั้นด้วยวิธีการหลายวิธีฉันพยายามที่จะทำซ้ำปัญหาเดียวกันในด้านของฉัน แต่ไม่สามารถสร้างปัญหาเดียวกันในด้านของฉันตามที่คุณเห็นด้านล่าง

ด้วย sshd_config DenyUsers root

บันทึกฝั่งไคลเอ็นต์

ปฏิเสธการอนุญาตโปรดลองอีกครั้ง

บันทึกฝั่งเซิร์ฟเวอร์

2 ก.ค. 02:47:32 เซิร์ฟเวอร์ sshd [27118]: ไม่อนุญาตให้รูทผู้ใช้จาก CLIENT_IP เพราะอยู่ในรายการใน DenyUsers

ด้วย hosts.deny

sshd: CLIENT_IP

บันทึกการดีบักฝั่งไคลเอ็นต์:

ssh_exchange_identification: การเชื่อมต่อถูกปิดโดยโฮสต์ระยะไกล

บันทึกฝั่งเซิร์ฟเวอร์

2 ก.ค. 02:46:28 เซิร์ฟเวอร์ sshd [27100]: ปฏิเสธการเชื่อมต่อจาก CLIENT_IP (CLIENT_IP)

ด้วย PAM ปฏิเสธ

บันทึกฝั่งไคลเอ็นต์:

ปฏิเสธการอนุญาต (publickey, keyboard-interactive)

บันทึกด้านเซิร์ฟเวอร์:

PAM-listfile: ปฏิเสธผู้ใช้ xyz สำหรับบริการ ssh

ด้วยล็อคบัญชี

บันทึกฝั่งไคลเอ็นต์:

debug2: เราส่งแพ็กเก็ตรหัสผ่านแล้วรอการตอบกลับ debug1: การตรวจสอบสิทธิ์ที่สามารถดำเนินการต่อได้: publickey, gssapi-with-mic, รหัสผ่านถูกปฏิเสธโปรดลองอีกครั้ง

บันทึกด้านเซิร์ฟเวอร์:

2 Jul 02:57:16 เซิร์ฟเวอร์ sshd [27303]: pam_unix (sshd: auth): การตรวจสอบล้มเหลว; logname = uid = 0 euid = 0 tty = ssh ruser = rhost = ผู้ใช้ CLIENT_IP = usertest 2 ก.ค. 02:57:17 เซิร์ฟเวอร์ sshd [27303]: รหัสผ่านไม่ผ่านสำหรับ usertest จากพอร์ต CLIENT_IP 39431 ssh2 Jul 2 02:57:35 [27303]: รหัสผ่านล้มเหลวสำหรับ usertest จากพอร์ต CLIENT_IP 39431 ssh2

หลังจากทำการค้นหาโดย Google แล้วดูเหมือนว่าปัญหานี้เพราะ:

  • ทำซ้ำ IP ในเครือข่ายของคุณ
  • อาจเป็นข้อผิดพลาด

3
"การเชื่อมต่อรีเซ็ตโดยเพียร์" เป็นข้อผิดพลาดซ็อกเก็ตทั่วไป คุณจะไม่พบมันในแหล่งข้อมูล SSH ssh_exchange_identificationมองหาเครือข่ายในการอ่าน อย่างไรก็ตามดูเหมือนว่าปัญหาไฟร์วอลล์หรือคล้ายกัน
tripleee

0

สิ่งนี้อาจเกิดขึ้นได้หากเส้นทางระหว่างคอมพิวเตอร์สองเครื่องนั้นแตกต่างกัน ควรมองทั้งการกำหนดค่าการกำหนดเส้นทางของสองจุดสิ้นสุดรวมถึงไฟร์วอลล์ใด ๆ ที่แพ็กเก็ตผ่าน


เส้นทางที่แพ็กเก็ตใช้จะมีผลกับการจับมือกันหรือไม่?
David Hoelzer

-1

ลอง: ssh -2 name@ipหรือssh -2 -l name ip


4
คุณต้องการอธิบายว่าคุณคิดว่าสิ่งนี้เกี่ยวข้องหรือไม่
jasonwryan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.