การเชื่อมต่อ SSH ได้รับการปฏิเสธ


10

ฉันใหม่สำหรับ linux และฉันพยายามสร้างการเชื่อมต่อ SSH กับพีซีของเพื่อนใน LAN เดียวกัน แต่ฉันได้รับ:

ssh: connect to host 192.168.71.70  port 22: Connection refused

ทั้งสองวิธีได้รับ "การเชื่อมต่อถูกปฏิเสธ" ฉันจะแก้ไขสิ่งนี้ได้อย่างไร


1
คุณช่วยกรุณายืนยันและอัปเดตคำถามต่อไปนี้ a) ว่าเพื่อนของคุณมี openssh-server ติดตั้งและใช้งานข) ว่ากำลังฟังพอร์ตเริ่มต้นที่ 22 และ c) ที่คุณได้รับที่อยู่ ip ที่ถูกต้อง
andol

และ d) ไฟร์วอลล์ไม่ได้บล็อกการเชื่อมต่อ
RobotHumans

ขอบคุณสำหรับการตอบสนองของคุณและปัญหาคือไม่ได้ติดตั้งเซิร์ฟเวอร์ ssh ตอนนี้ฉันทำไปแล้วและมันก็ทำงานได้อย่างถูกต้อง
samanth

คำตอบ:


12

ไม่ว่าจะเป็น LAN หรือไม่ได้อยู่ใน LAN ฉันมักจะทำสิ่งนี้:

  1. ก่อนติดตั้งopenssh-serverบนพีซีทุกเครื่องที่จะได้รับการเชื่อมต่อ SSH:

    sudo apt-get install openssh-server
    
  2. ตรวจสอบว่าพีซีที่ฉันเพิ่งติดตั้ง openssh-server สามารถเข้าถึงได้ วิธีที่เร็วที่สุดคือส่ง ping

ping 192.168.0.100สมมติว่าที่อยู่ IP เป็นที่อยู่ IP ของพีซีเพื่อนของฉัน หากปรากฏว่าใช้ได้ฉันจะเข้าใช้งานต่อไป จำไว้ว่าคุณต้องใช้บัญชีที่มีอยู่แล้วในพีซีของเพื่อนคุณ โดยปกติบัญชีของเขาจะทำ

ssh friend@192.168.0.100friendชื่อผู้ใช้ของเพื่อนคุณอยู่ที่ไหน

ในสถานการณ์ปกตินี้ควรจะเพียงพอ แจ้งให้เราทราบหากใช้งานได้


ฉันจะบอกว่าส่วนหนึ่งของคำตอบนี้ถูกต้องซึ่งเกิดขึ้นเป็น 'ติดตั้ง openssh- เซิร์ฟเวอร์' แต่ส่วนการตรวจสอบไม่เกี่ยวข้องกับ SSH วิธีที่ดีที่สุดเพื่อให้แน่ใจว่าเซิร์ฟเวอร์ ssh ใช้งานได้: 1. ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานแล้ว (สถานะ sudo service ssh) 2. ในคอมพิวเตอร์ไคลเอนต์ telnet ไปยังพอร์ต 22 บนกล่องที่มีเซิร์ฟเวอร์ ssh (telnet server1.example .com 22) หรือ nmap เซิร์ฟเวอร์ ssh (nmap server1.example.com) การส่ง Ping จะบอกลูกค้าว่าคุณสามารถเข้าถึงผ่านทาง ICMP ได้ แต่คุณยังสามารถ SSH เข้าสู่เซิร์ฟเวอร์และปิดการใช้งาน ICMP ในระดับเคอร์เนล ... แค่สองเซ็นต์ของฉัน
ruffEdgz

ฉันมีเพื่อนที่ติดตั้ง SSH และใช้เวลาหนึ่งชั่วโมงในการพยายามเชื่อมต่อกับแต่ละอื่น ๆ เพื่อค้นหาว่าพวกเขาไม่มีสายเคเบิลเชื่อมต่อหรือไม่มีเครือข่ายที่ติดตั้งอย่างถูกต้องเพื่อดูกันและกัน PING จะช่วยในเรื่องนี้และไม่คิดว่า SSH จะมีปัญหา ประหยัดเวลา
Luis Alvarado

ไม่ต้องเพิ่มเพื่อให้แน่ใจว่ามีการเชื่อมต่อ แต่คุณสามารถทำได้ที่ PLUS ตรวจสอบให้แน่ใจว่าพอร์ตเปิดอยู่โดยใช้ nmap (sudo apt-get install nmap) จากเครื่องไคลเอ็นต์ไปยังเครื่องเซิร์ฟเวอร์ตราบใดที่ iptables ไม่ได้ปิดกั้นทั้งหมด พอร์ตไปยังเซิร์ฟเวอร์ ssh ฉันอาจจะค่อนข้างพิถีพิถันในเรื่องนี้ แต่ฉันต้องการตรวจสอบให้แน่ใจว่ามีการตรวจสอบที่ถูกต้องเพื่อตรวจสอบว่าบริการนั้นเปิดใช้งานจริงแทนที่จะตรวจสอบว่ามีการเปิดกล่องและทำงานอยู่
ruffEdgz

โดยค่าเริ่มต้นฉันได้เห็นว่ามันเพียงพอที่จะติดตั้งเซิร์ฟเวอร์ openssh พอร์ตจะเปิดตามค่าเริ่มต้น คุณจะต้องปิดกั้นพวกเขาหรือมีอุปกรณ์ปิดกั้นพอร์ต ดังนั้นถ้า OP ทำเช่นนี้มันจะเป็นสิ่งที่เฉพาะเจาะจงสำหรับเขา / เธอ นอกเหนือจากนี้ใช่การตรวจสอบด้วย nmap หรือเครื่องมือเครือข่ายอื่น ๆ เป็นความคิดที่ดีในหลายกรณี
Luis Alvarado

5

เมื่อคุณลองและเชื่อมต่อใช้-vvvสวิตช์เพื่อแสดงข้อมูลการตรวจแก้จุดบกพร่อง:

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