วิธีแก้ไขข้อผิดพลาด 'การเชื่อมต่อถูกปฏิเสธ' ในการเชื่อมต่อ SSH


96

ฉันมี Ubuntu Server 10.10 32- บิตในบ้านของฉัน ฉันทำการเชื่อมต่อ SSH จากพีซีผ่านทาง Putty

ปัญหาคือบางครั้งฉันสามารถเข้าสู่ระบบได้อย่างราบรื่น อย่างไรก็ตามบางครั้งมันทำให้ฉันมีข้อผิดพลาดเช่นนี้:Network error: Connection refused.

จากนั้นฉันไม่ได้เปลี่ยนแปลงอะไรลองลงชื่อเข้าใช้อีกสองสามครั้งรอสักครู่แล้วลองอีกครั้ง บางครั้งฉันสามารถเข้าสู่ระบบบางครั้งฉันไม่สามารถ ดูเหมือนว่าฉันค่อนข้างสุ่ม

ฉันจะแก้ไขปัญหานี้ได้อย่างไร

แก้ไข:

และบางครั้งสีโป๊วก็มีNetwork error: Software caused connection abortข้อผิดพลาดหลังจากแสดงlogin as:ข้อความ

นี่คือเอาต์พุต ping -t:

Pinging 192.168.2.254 with 32 bytes of data:
Reply from 192.168.2.254: bytes=32 time=6ms TTL=64
Reply from 192.168.2.254: bytes=32 time=65ms TTL=6
Reply from 192.168.2.254: bytes=32 time=88ms TTL=6
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=3ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64

ฉันปิดไฟร์วอลล์ของเราเตอร์และทุกอย่างดูเหมือนจะทำงานตอนนี้ นอกจากนั้นฉันยังไม่สามารถเข้าสู่เว็บเซิร์ฟเวอร์โดยพิมพ์ IP ภายนอกจากพีซีของฉัน


ครั้งต่อไปที่มันออกมาแบบนั้น เปิด ping ใหม่อีกครั้งมันยังใช้งานได้หรือไม่ มีคนไปที่เครื่องนี้กี่คน?
myusuf3

เฉพาะฉันที่เซิร์ฟเวอร์นี้
frbry

ปัญหาเดียวกันตรงนี้ยังได้รับการรวมกันของการเชื่อมต่อที่ประสบความสำเร็จ (ซึ่งใช้งานได้หลายชั่วโมง), 'การเชื่อมต่อที่ถูกปฏิเสธ' และ 'ซอฟต์แวร์ที่ทำให้เกิดการยกเลิกการเชื่อมต่อ' หลังจากเข้าสู่ระบบหรือรหัสผ่าน เพื่อให้รายละเอียดเพิ่มเติม: ในกรณีของฉันมันเป็นเครื่องเสมือน 64 บิต (ใช้งาน Ubuntu Server 10.10) บนโฮสต์ Microsoft Hyper-V โดยใช้การจำลอง "การ์ดเครือข่ายเก่า"
hheimbuerger

ติดตั้ง SSH บนเซิร์ฟเวอร์ของคุณหรือไม่
Willian Soares

คำตอบ:


82

คุณต้องติดตั้ง openssh-server บน Linux ก่อนจะใช้งานได้ รับที่อยู่ IP ภายในของ Ubuntu และใช้ IP นั้นเพื่อตั้งค่าการส่งต่อพอร์ตในส่วนพอร์ต 22 (SSH) ของเราเตอร์ของคุณ แม้ว่าคุณจะไม่ต้องการใช้ SSH จากนอกเครือข่าย แต่ก็ไม่จำเป็นต้องทำเช่นนี้

นี่คือวิธีการติดตั้ง openssh-server:

sudo apt-get install openssh-server openssh-client
[ENTER PASSWORD]

10
ไม่ตอบคำถามโดยตรง แต่สิ่งนี้มีประโยชน์เนื่องจาก Ubuntu ไม่ได้ติดตั้งเซิร์ฟเวอร์ SSH ไว้ล่วงหน้า
Ostati

ฉันเพิ่งได้แล็ปท็อปเครื่องใหม่และลืมไปเลยว่ามันไม่ได้ติดตั้งโดยค่าเริ่มต้น = D
Izkata

40

ที่อยู่ IP ขัดแย้งกันกลายเป็นสาเหตุหลักเมื่อฉันเห็นข้อความแสดงข้อผิดพลาด SSH นี้

หลังจากอ่านคำตอบข้างต้นฉันสงสัยว่าที่อยู่ IP ขัดแย้งกัน แต่จำเป็นต้องพิสูจน์ว่าที่อยู่นั้นขัดแย้งกันหรือไม่เป็นปัญหา

นี้บทความดีดีแสดงให้เห็นถึงวิธีการใช้ ARP สแกนเพื่อดูว่าสองชิ้นของฮาร์ดแวร์ที่ถูกอ้างว่าที่อยู่ IP เดียวกัน

ในกรณีของฉันเครื่องเซิร์ฟเวอร์มีที่อยู่ ip แบบคงที่ 192.168.1.42 ฉันใช้การสแกน arp เพื่อตรวจสอบที่อยู่นั้น:

$ sudo apt-get install arp-scan
$ arp-scan -I eth0 -l | grep 192.168.1.42
  192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
  192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)

นั่นเองมีข้อขัดแย้งดังที่แสดงไว้ด้านบน จากนั้นฉันรันการสแกน arp โดยไม่มี grep พบว่ามี. 43 ใช้ได้แล้วไปแก้ไข/etc/network/interfacesและเปลี่ยน ip แบบคงที่จาก. 42 เป็น. 43


การใช้คำสั่งนั้นจริงแสดงเพียงหนึ่งบรรทัดในกล่องของฉันยกเว้นว่าชื่อเป็นของอุปกรณ์อื่น
assylias

ขอบคุณมากสำหรับประเด็นในทิศทางที่ถูกต้องเกี่ยวกับความขัดแย้งของที่อยู่ IP มีปัญหาที่คล้ายกัน! +1
DominikAngerer

เพิ่งช่วยฉันเวลามาก ... รุ่งโรจน์ ...
Chris Barlow

บางครั้งเราเตอร์ของฉันก็ต้องเริ่มต้นใหม่เพื่อแก้ปัญหานี้
Gabriel Staples

14

ใช้ที่arpingอยู่ IP ที่มีปัญหาการเชื่อมต่อ ที่จะแสดงที่อยู่ MAC สำหรับการตอบ ping แต่ละครั้งและหวังว่าจะเปิดโปงที่อยู่ MAC อันธพาล

arping 192.168.2.254

คุณควรตรวจสอบพูลที่อยู่ IP DHCP บนเซิร์ฟเวอร์ DHCP ตรวจสอบให้แน่ใจว่าไม่มีอุปกรณ์ใดมี IP แบบคงที่ที่ชนกับพูล DHCP

ปมเหล่านี้ชี้ไปที่ IP ที่ซ้ำกัน:

  • ping ttl และเวลาไปกลับดูเหมือนเซิร์ฟเวอร์ที่ต่างกัน 2 ตัว
  • ยกเลิกการเชื่อมต่อเป็นระยะโดยไม่ต้องรีบูตเครื่อง

เยี่ยมมากชี้ไปที่เส้นทางที่ถูกต้องแล้ว! สามารถติดตามได้โดยที่อยู่ MAC ที่สองซึ่งเป็นพอร์ตและเปลี่ยน IP ของเครื่องพิมพ์
Canadian Luke

1
ฉันต้องการที่จะเพิ่ม wlan0 -I (wlan0 เป็นอุปกรณ์ WiFi ของฉัน)
Guhur

6

ฉันมีปัญหาเดียวกันแม้ว่าฉันจะมีที่อยู่ IP แบบคงที่ ปรากฎว่าเซิร์ฟเวอร์อื่นในเครือข่ายของฉันได้รับการกำหนดที่อยู่ IP (คงที่) เดียวกัน (Duh.) ดังนั้นจึงปรากฏว่าปัญหาเกิดจากความขัดแย้งของที่อยู่ IP แต่อาจมีหลายวิธีที่เป็นไปได้ที่จะเกิดขึ้น หากคุณตั้งค่าของคุณเป็นแบบคงที่และยังคงมีปัญหาลองปิดเครื่องและส่งที่อยู่ หากคุณได้รับคำตอบใด ๆ เริ่มมองหาสิ่งอื่นที่อาจมีที่อยู่เดียวกัน


1
ฉันพบอาการเดียวกันและติดตามลงไปยังเครื่องที่มีที่อยู่ IP เดียวกับเซิร์ฟเวอร์
SabreWolfy

4

คุณจะได้อะไรถ้าคุณทำเช่นนี้?

grep 192.168.2.25 /etc/hosts.deny

ถ้ามันคืนค่าอะไรคุณก็ต้องลบมันทิ้ง


10
นั่นเป็นหนึ่งใน "การใช้ประโยชน์ไร้ประโยชน์" ที่น่าอับอายcat- คุณสามารถทำได้อย่างง่ายดายgrep 192.168.2.25 /etc/hosts.deny
Tobias Kienzler

@TobiasKienzler แก้ไขมัน
wjandrea

4

เปิดไฟล์ของ ssh config:

sudo nano /etc/ssh/ssh_config

ค้นหาพอร์ต

#port 22

ลบตัวเลือกพอร์ตคม

จากนั้นบันทึกไฟล์โดยctrl + xและเริ่มบริการของคุณใหม่

sudo service ssh restart

3

นี่เป็นปัญหาของอุปกรณ์เครือข่ายของคุณมากกว่าเซิร์ฟเวอร์เอง

ตรวจสอบ / var / log / ข้อความสำหรับลิงก์อีเธอร์เน็ตขึ้น / ลง (หรือ wlan ในกรณีไร้สาย) ถ้าเป็นเช่นนั้นลองเปลี่ยนสายเคเบิล


ใช่ฉันพยายามและประสบความสำเร็จในการเชื่อมต่อ ssh จากนอกเครือข่ายของฉัน (ซึ่งเซิร์ฟเวอร์ของฉันและพีซีของฉันอยู่) ดูเหมือนว่าจะทำงานได้ดี เซิร์ฟเวอร์ของฉันเป็นเว็บเซิร์ฟเวอร์ด้วย เมื่อฉันพยายามเชื่อมต่อผ่านพอร์ต 80 จากพีซีของฉันฉันเห็นหน้าล็อกอินของโมเด็ม ADSL แต่เมื่อฉันลองสิ่งเดียวกันจากคอมพิวเตอร์เครื่องอื่นซึ่งอยู่นอกเครือข่ายของฉันฉันเห็นหน้าการทำงานของ Apache
frbry

PC ของคุณคืออะไร ip ของเซิร์ฟเวอร์ของคุณและ ip ของเราเตอร์ adsl ภายในของคุณ
forcefsck

พีซี: 192.168.2.2 (ได้รับจาก DHCP) เซิร์ฟเวอร์: 192.168.2.254 (คงที่, อยู่นอกช่วง DHCP) ADSL Router: 192.168.2.1
frbry

ฉันสับสนเล็กน้อยเมื่อคุณเชื่อมต่อจาก 192.168.2.2 ถึง 192.168.2.254 พอร์ต 80 คุณจะได้รับการเข้าสู่ระบบของโมเด็ม adsl?
forcefsck

1
ถ้าคุณไม่ได้ตั้งค่าพร็อกซีเว็บบางประเภทให้กับเซิร์ฟเวอร์ของคุณจากนั้นโมเด็ม adsl ของคุณจะตอบสนองต่อการร้องขอที่ทำกับ 192.168.2.254 และอาจเป็นกรณีที่คุณได้รับConnection refusedข้อผิดพลาดด้วย ssh ดังนั้นคุณต้องตรวจสอบการตั้งค่าโมเด็ม adsl ของคุณอีกครั้ง
forcefsck

3

ฉันสามารถยืนยันปัญหาที่แน่นอนนี้: มันไม่ใช่ปัญหาการเชื่อมต่อที่เรียบง่าย ลิงก์อีเธอร์เน็ตไม่เปลี่ยนสถานะ เซิร์ฟเวอร์สามารถเข้าถึงได้ผ่าน ping; ssh เชื่อมต่ออย่างไร้ที่ติในบางครั้งจากนั้นดูเหมือนว่าสุ่มไม่ได้เชื่อมต่อหรือเซสชัน ssh ที่มีอยู่ลดลง สิ่งนี้เกิดขึ้นใน Ubuntu 10.04 และ 11.04 ตามคำแนะนำของ hheimbuerger ฉันได้ให้ IP กับเซิร์ฟเวอร์แบบคงที่สิ่งนี้ดูเหมือนจะแก้ไขได้

วิธีแก้ปัญหา: เปลี่ยนอะแดปเตอร์จาก DHCP เป็นแบบคงที่


1

ฉันมีปัญหาเดียวกันทั้งหมดและในกรณีของฉันมันกลายเป็นความขัดแย้งของที่อยู่ IP VM Ubuntu ของฉันมีที่อยู่แบบไดนามิก แต่เครื่องอื่น (ในกรณีนี้โทรศัพท์) ได้รับ IP แบบคงที่ซึ่งเซิร์ฟเวอร์ DHCP ไม่ทราบ

เพียงแค่เปลี่ยน IP ที่กำหนดโดยเซิร์ฟเวอร์ DHCP เป็น Ubuntu VM แก้ไขปัญหาการเชื่อมต่อทั้งหมด


1

มันเป็นเพราะเหตุผลข้อใดข้อหนึ่งต่อไปนี้:

  1. มีผู้ใช้จำนวนมากเกินไปในเครือข่ายที่พยายามเข้าถึงเซิร์ฟเวอร์
  2. คอมพิวเตอร์มากกว่าหนึ่งเครื่องบนเครือข่ายมี IP เดียวกันกับเซิร์ฟเวอร์ที่ทำให้เกิดข้อขัดแย้งของ IP
  3. ชื่อผู้ใช้ที่ไม่ถูกต้องหรือข้อมูลประจำตัวของคุณถูกเพิกถอนแล้ว

0

คุณอาจต้องการตรวจสอบiptablesกฎของคุณบนเซิร์ฟเวอร์ของคุณ ดูเหมือนคุณจะมีกฎสำหรับ จำกัด การเชื่อมต่อ SSH ใหม่

กฎต่อไปอนุญาตให้มีการเชื่อมต่อใหม่ 5 ครั้งต่อนาทีหากคุณเกินขีด จำกัด นี้การเชื่อมต่อใหม่ของคุณจะถูกปฏิเสธหลังจากผ่านไประยะหนึ่ง:

-A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT

ดูเอกสาร IPTables / Netfilterlimitเลื่อนบิตจนถึง


0

arp-scan กำลังแสดงอุปกรณ์ที่ซ้ำกันสองรายการ แต่เมื่อฉันเรียกใช้เครื่องสแกน IP ขั้นสูงใน Win8 อุปกรณ์ทั้งหมดนั้นดูดี ดังนั้นพวกเขาจึงไม่เห็นด้วยเสมอ

ฉันตั้งค่าเราเตอร์เพื่อยกเลิกสัญญาทั้งหมดโดยบอกให้สัญญาเช่าเพียง 1 ชั่วโมง จะให้เวลาเพื่อดูว่ามันล้างขึ้น

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