ssh: เชื่อมต่อกับโฮสต์ localhost พอร์ต 22: การเชื่อมต่อถูกปฏิเสธ [ปิด]


22

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

ติดตั้ง Ubuntu 12.10 ติดตั้ง sudo apt-get install sshSSH, SSH ssh localhostที่ชื่นชอบได้รับการปรับการทำงานและเชื่อมต่อโดยใช้ ฉันลบ Ubuntu เพิ่มพาร์ติชันและติดตั้ง Ubuntu อีกครั้ง อีกครั้งที่ฉันไล่ออกsudo apt-get install sshมันแสดงให้ฉันเห็น

Reading package lists... Done    
Building dependency tree        
Reading state information... Done

เมื่อฉันได้รับคำสั่งssh localhostมันทำให้ฉันมีข้อผิดพลาด:

ssh: connect to host localhost port 22: Connection refused

15
คุณสามารถลองใหม่หลังจากทำsudo apt-get install openssh-serverหรือไม่
jobin

อะไรคือผลลัพธ์ของsudo iptables -L? และsudo netstat -l?
Braiam

5
การติดตั้งที่openssh-serverได้รับการแก้ไขปัญหา
SMMousavi

ขอบคุณ @Mousavi นั่นคือทั้งหมดที่ฉันต้องการ ตลกนี่ไม่ใช่คำตอบที่ยอมรับ
SDsolar

คำตอบ:


17

ใช้คำสั่งนี้:

sudo iptables -L

หากคุณเห็นว่าไม่อนุญาตการรับส่งข้อมูล (เช่นไม่มีกฎเฉพาะ) ให้เรียกใช้คำสั่งต่อไปนี้:

sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT

คำสั่งนี้จะบอกระบบเพื่อให้การเชื่อมต่อเข้ากับพอร์ต 22 ... และมักจะแก้ปัญหาภาวะที่กลืนไม่เข้าคายไม่ออกของคุณโดยเฉพาะสำหรับ/sshsshd

อัปเดต ณ วันที่ 31 กรกฎาคม 2016: iptables ไม่มีส่วนเกี่ยวข้องกับ ssh เป็นแอปพลิเคชัน แต่ในทางกลับกันฟังก์ชั่นเป็นเราเตอร์ในการอนุญาตการรับส่งข้อมูลไปยังพอร์ต 22 เมื่อใช้ iptables ระบบจริงเข้าใจ 'ssh' ทางลัดภายในบรรทัดคำสั่ง แต่จริงๆแล้วมันเป็นจริงiptables INPUT -p udp -dport 22ในขณะที่ --dport หมายถึง "ปลายทางพอร์ต" (ssh ใช้พอร์ต 22) นี่อาจทำให้เกิดความเข้าใจผิดในการมองเห็น 'ssh' ราวกับว่าเป็นการใช้งาน แต่จริงๆแล้วเป็น '22' เป็นพอร์ต


มีหลายส่วนที่มาเช่น Chain ufw-reject-forward, Chain ufw-reject-input, Chain ufw-reject-output ... ดังนั้นส่วนใดที่จำเป็นต้องอ้างถึงเพื่อตรวจสอบ?
234202

ดูเหมือนว่าการรับส่งข้อมูลของคุณจะถูก จำกัด จากนั้นไปข้างหน้าและเพิ่มบรรทัดคำสั่งนั้นและรีบูต
Faron

2
ฉันทำแบบเดียวกันและรี
บูท

7
ปัญหาได้รับการแก้ไขอย่างไร
Braiam

1
@ Kizito iptables ไม่มีส่วนเกี่ยวข้องกับ ssh เป็นแอปพลิเคชั่น แต่ในทางกลับกันฟังก์ชั่นเป็นเราเตอร์อนุญาตให้ทราฟฟิกไปยังพอร์ต 22 เมื่อใช้ iptables ระบบจะเข้าใจ 'ssh' จริง ๆ แต่เป็นทางลัดภายในบรรทัดคำสั่ง จริงๆแล้วมันเป็นจริงiptables INPUT -p udp -dport 22ในขณะที่--dportหมายถึง "ปลายทางพอร์ต" (ssh ใช้พอร์ต 22) นี่อาจทำให้เกิดความเข้าใจผิดในการมองเห็น 'ssh' ราวกับว่าเป็นการใช้งาน แต่จริงๆแล้วเป็น '22' เป็นพอร์ต
Faron
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.