การเชื่อมต่อ ssh ถูกปฏิเสธ: จะแก้ไขปัญหาอย่างไร?


17

ฉันกำลังพยายาม:

$ ssh eric@myserver

เครื่องอยู่ที่ไหนmyserverในอินทราเน็ต ฉันสามารถ ping myserverหรือตอบกลับ HTTP บนพอร์ต 8080 ฯลฯ แต่เมื่อฉันลองsshฉันจะได้รับ

ssh: connect to host myserver port 22: Connection refused

ฉันใช้ Ubuntu 10

ps -axตามที่แนะนำให้:

eric@Isaiah:~$ ps -ax | grep ssh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
 1641 ?        Ss     0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session
18376 pts/3    S+     0:00 grep --color=auto ssh

คำตอบ:


15

คุณไม่มี SSH daemon กำลังทำงานอยู่ ถ้าคุณมองไปที่การส่งออกจากที่ps axคำสั่งคุณเห็นว่ามีเพียงสองกระบวนการด้วย 'SSH' ในคำอธิบายที่มีssh-agent(ซึ่งทำบางสิ่งที่แตกต่างจากsshd) และกระบวนการที่คุณใช้ในการกรองการส่งออกของgrep sshps

คุณอาจต้องติดตั้งหรือเรียกใช้sshเซิร์ฟเวอร์โดยทั่วไปเรียกว่าopenssh-serverหรือsshdขึ้นอยู่กับตัวจัดการแพ็คเกจของคุณ


13

ขั้นตอนสำหรับการดีบักปัญหาข้างต้น:

  1. ใช้nmapเครื่องมือเพื่อทราบพอร์ตที่เปิดในเซิร์ฟเวอร์นั้น nmapเป็นสแกนเนอร์พอร์ต เนื่องจากอาจเป็นไปได้ว่าเซิร์ฟเวอร์ ssh กำลังทำงานอยู่บนพอร์ตอื่น nmapจะให้รายชื่อพอร์ตที่เปิดอยู่

     $ nmap myserver
    

2. ตอนนี้คุณสามารถตรวจสอบว่าเซิร์ฟเวอร์ใดกำลังทำงานบนพอร์ตที่กำหนด สมมติว่าเอาต์พุตของ nmap เปิดพอร์ต 2424 ตอนนี้คุณสามารถเซิร์ฟเวอร์ที่ทำงานบน 2424 โดยใช้เครื่องมือ nc (netcat)

 $ nc -v -nn myserver portno

สมมติว่าเอาต์พุตของ 2424 พอร์ตคือ:

myserver 2424 open
SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5

ซึ่งหมายความว่า ssh ทำงานบน 2424

ทำการเปลี่ยน portno ในคำสั่งด้านบนและตรวจสอบพอร์ตทั้งหมดที่อยู่ในรายการเปิดโดย nmap


3

นั่นหมายความว่าเซิร์ฟเวอร์ ssh ไม่ได้ทำงานบนเครื่องนั้นหรือไฟร์วอลล์ไม่อนุญาตให้ใช้ ssh คุณสามารถตรวจสอบว่า ssh ทำงานด้วย 'ps -ax | grep ssh '


ps -axคำถามแก้ไขเพื่อแสดงผลการ ไม่แน่ใจว่ามันหมายถึงอะไร.
Eric Wilson

1
มันsshไม่ได้ทำงาน
David Schwartz

1
แปลก. ฉันไม่แน่ใจว่าทำไมคุณถึงเสนอความช่วยเหลือสองครั้งซึ่งไม่เป็นประโยชน์จริง ๆ ก่อนอื่นคุณแนะนำคำสั่งที่มีประโยชน์เพื่อตรวจสอบว่า ssh ทำงานอยู่หรือไม่โดยไม่บอกวิธีตีความผลลัพธ์ จากนั้นคุณให้การตีความที่น้อยที่สุดของผลลัพธ์เหล่านั้นโดยไม่มีคำใบ้ว่าคุณจะมาถึงการตีความนั้นได้อย่างไรหรือการกระทำใดที่เหมาะสม ฉันไม่แน่ใจว่าคุณกำลังพยายามช่วยเหลือฉันอยู่หรือไม่และกำลังตัดสินระดับประสบการณ์ของฉันหรือไม่หรือหากคุณพยายามเน้นความไม่รู้ของฉัน
Eric Wilson

3
รายการกระบวนการไม่รวมsshdกระบวนการซึ่งหมายความsshdว่าไม่ได้ทำงานอยู่ sshdการแก้ปัญหาคือการเริ่มต้น
David Schwartz

1

สองตัวเลือกก่อนหน้านั้นดี คุณยังสามารถใช้-vหรือ-vvอาร์กิวเมนต์

$ ssh -vv eric@myserver

0

ฉันประสบปัญหานี้เช่นกัน แต่ในสภาพแวดล้อม VirtualBox ดังนั้นเพื่อแก้ปัญหาเราต้องตั้งค่าที่อยู่ IP ให้อยู่ในส่วน LAN เดียวกัน ตัวอย่างเช่น:

บนเครื่องโฮสต์ของฉันฉันเปิดและประเภทcmd ipconfigฉันได้รับ 100.2.2.1 (เช่น)

ดังนั้นในเครื่องเสมือนเราจะต้องตั้งค่าที่อยู่ของ VM /etc/hostsเป็นค่าเช่น 100.2.2.3 ดูที่หมายเลขสุดท้ายและตีกลับเครื่องเสมือน แต่ก่อนที่จะเริ่มเครื่องเสมือนกำหนดค่าเครือข่ายในการตั้งค่าของเสมือน เครื่องดังนั้นเราต้องตั้งค่าอะแดปเตอร์เครือข่ายในการเชื่อมต่อสะพาน

ทั้งหมดนี้อยู่ในสภาพแวดล้อมของ Solaris

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