ssh: เชื่อมต่อกับโฮสต์ myremotehost.com พอร์ต 22: การเชื่อมต่อถูกปฏิเสธ


33

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

ssh: connect to host bahhudson.mine.nu port 22: Connection refused

จากการวิจัยพบว่าปัญหาดูเหมือนว่ามีบางอย่างผิดปกติกับเราเตอร์ของฉัน ฉันกำหนดค่าการส่งต่อพอร์ต แต่นั่นเป็นสิ่งเดียวที่ฉันคิดว่าทำให้เกิดข้อผิดพลาด "ปฏิเสธการเชื่อมต่อ" ... เราเตอร์ของฉันคือ WRT120N และฉันได้กำหนดค่าสำหรับการส่งต่อพอร์ตตามPortforward.comซึ่งดูเหมือนว่าค่อนข้างล้าสมัย เนื่องจากภาพเหล่านั้นบางอย่างไม่เหมือนกับการตั้งค่าเราเตอร์ของฉัน แต่ฉันได้ลองหลายวิธีในการตั้งค่าการส่งต่อพอร์ตและฉันรู้ว่าการส่งต่อสำหรับพอร์ต 80 ทำงานได้เนื่องจากเซิร์ฟเวอร์ของฉันมีการเข้าถึง HTTP ซึ่งทำงาน ...

นอกจากนี้การเข้าถึง VPN ก็ถูกบล็อกด้วยสิ่งที่ฉันเชื่อว่าเป็นวิธีที่คล้ายกันดังนั้นโซลูชันสำหรับพอร์ต SSH 22 ที่ถูกบล็อกอาจจะคล้ายกับของ VPN ที่ถูกบล็อกด้วย

ความคิดใด ๆ

ขอบคุณ!

คำตอบ:


20

ISP ของคุณอาจบล็อกการเชื่อมต่อกับพอร์ต 22 (ไม่มีอะไรที่คุณหรือเราเตอร์ของคุณสามารถทำได้) เพียงแค่ตั้งค่า SSHd ให้ทำงานบนพอร์ตอื่นเช่น 2222

ใน/etc/ssh/sshd_configการเปลี่ยนแปลงPort 22ไปแล้วPort 2222 sudo service ssh restartส่งต่อพอร์ต 2222 (หรืออะไรก็ตาม) แล้วลองอีกครั้ง


ฉันยังคงได้รับการเชื่อมต่อเดียวกันปฏิเสธข้อผิดพลาด (22 เมื่อฉันไม่ได้ระบุพอร์ตเมื่อใช้ ssh และ 2222 เมื่อฉันใช้ -p 222) ฉันใส่พอร์ตที่เข้ามา 22 เพื่อส่งต่อไปที่ 2222 และเปลี่ยนพอร์ตเป็น 2222 ใน sshd_config ฉันกำลังจะออกอะไรไหม?
bahudso

1
ลองใช้วิธีนี้: 2222 ที่เข้ามาของเราเตอร์จะต้องส่งต่อไปที่ 2222 (ด้วยพอร์ต 2222 ที่ตั้งค่าไว้sshd_config)
ish

@izx รุ่งโรจน์สำหรับกฎเราเตอร์ เมื่อถึงจุดหนึ่งฉันคิดว่าฉันกำลังออกนอกลู่นอกทางและไม่รู้ว่าฉันกำลังทำอะไรอยู่ ฮ่า ๆ!
GTodorov

สำหรับผู้อ่านในอนาคต ตรวจสอบให้แน่ใจว่าคุณกำลังอ้างถึงไฟล์/etc/ssh/sshd_config(notice ssh d ) หลังจากดึงผมของฉันเป็นเวลาหนึ่งชั่วโมงฉันก็รู้ว่าความแตกต่างเล็ก ๆ นี้ ; P
Shashanth

เราเตอร์ใหม่ของฉันใช้พอร์ต 22 เพราะเป็นคุณสมบัติการดูแลระบบระยะไกลและไม่แสดงรายการไว้ที่ใดก็ได้บนอินเทอร์เฟซดังนั้นจึงอาจไม่จำเป็นต้องเป็น ISP
tu-Reinstate Monica-dor duh

21

เพียงเพื่อแบ่งปัน ( อาจมีการกำหนดค่าที่แตกต่างกัน )

ในกรณีของฉันฉันพบว่าข้อผิดพลาดนั้นสามารถเกิดขึ้นได้เพราะฉันไม่ได้ติดตั้งopenssh-serverในเครื่องอื่น

หลังจากที่ฉันติดตั้ง openssh-server ในเครื่องอื่นปัญหา:

ssh: connect to host 192.168.XXX.XXX port 22: Connection refused

ได้รับการแก้ไข


18
  1. ตรวจสอบการopenssh-serverติดตั้งครั้งแรกในระบบนั้น

  2. ตรวจสอบสถานะของบริการ ssh, เริ่มบริการ ssh

    sudo service ssh status    
    sudo service ssh start
    
  3. ตรวจสอบiptablesในระบบว่าพอร์ต 22 ถูกบล็อก เพียงอนุญาตให้พอร์ตเข้าiptablesและตรวจสอบ

    sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
    
  4. อื่นเปลี่ยนหมายเลขพอร์ตsshจาก 222222 เป็นโดยการแก้ไข

    vi etc/ssh/sshd_config    
    /etc/init.d/ssh restart.
    

5

ตรวจสอบสถานะบริการ SSH และเริ่มบริการ SSH หากหยุดทำงาน:

sudo service ssh status

ในกรณีของฉัน SSH หยุดทำงาน แต่หลังจากเริ่มบริการ:

sudo service ssh start

ฉันสามารถเข้าสู่ระบบทางไกลไปยัง Linux ได้


4

ฉันแก้ไขปัญหานี้ด้วยคำสั่งเหล่านี้:

sudo apt-get purge openssh-server 
sudo apt-get install openssh-server

0

สาเหตุที่เป็นไปได้อื่น ๆ คือพร็อกซีในระหว่างเทอร์มินัลเซสชันและโฮสต์เซิร์ฟเวอร์ต้องการการเข้าถึงรหัสผ่านของผู้ใช้ซึ่งปฏิเสธที่จะอนุญาตการรับส่งข้อมูลเนื่องจากไฟร์วอลล์เครือข่ายหรือ ssl-socks เป็นต้น


สิ่งนี้ดูเหมือนจะไม่ใช่ 'สาเหตุที่เป็นไปได้' โดยเฉพาะอย่างยิ่งเมื่อได้รับคำตอบที่ยอมรับได้
belacqua

0

การแก้ปัญหาจะทำได้โดยการเพิ่มหมายเลขพอร์ตของเซิร์ฟเวอร์ของคุณนำหน้าด้วย "-p":

ตัวอย่างของบรรทัดคำสั่ง:

ssh -L localport:127.0.0.1:localport username@ServerIP **-p** **serverport**

0

เพียงไปที่whmจากนั้นเปิดการ เปลี่ยนแปลงการควบคุมการเข้าถึงโฮสต์ดังนี้

อนุญาตทั้งหมด


0

ฉันได้รับข้อผิดพลาดเดียวกัน แต่หลังจากรีสตาร์ทคอมพิวเตอร์ทุกอย่างทำงานได้อีกครั้ง

ดังนั้นคุณอาจต้องลองก่อนที่จะติดตั้งส่วนประกอบบางอย่าง

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