ssh Connection відмовився: як усунути неполадки?


17

Я намагаюся:

$ ssh eric@myserver

де myserverмашина в інтранеті. Я можу пінг 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. Якщо ви подивитеся на вихід з ps axкоманди, ви побачите, що єдиними двома процесами з 'ssh' в описі є ssh-agent(що робить щось зовсім інше від sshd) і grep sshпроцес, який ви використовуєте для фільтрації виводу ps.

Залежно від того, який встановлений дистрибутив, вам може знадобитися встановити або запустити 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. Не впевнений, що це означає.
Ерік Вілсон

1
Це означає ssh, що не працює.
Девід Шварц

1
Дивно. Я не впевнений, чому ви вже двічі пропонували допомогу, яка насправді не корисна. Спочатку ви пропонуєте команду, корисну для перевірки запуску ssh, не розповідаючи, як інтерпретувати результати. Тоді ви надаєте мінімальну інтерпретацію цих результатів, без натяку на те, як ви дійшли до такої інтерпретації, або які дії можуть бути доречними. Я не впевнений, чи ти намагаєшся мені допомогти, і ти неправильно оцінюєш мій рівень досвіду, чи ти намагаєшся висвітлити моє незнання.
Ерік Вілсон

3
Список процесів не включає sshdпроцес, а значить sshd, не працює. Рішення - почати sshd.
Девід Шварц

1

Попередні два варіанти хороші. Ви також можете використовувати аргументи -vабо -vv.

$ ssh -vv eric@myserver

0

Я також стикався з цією проблемою, але в середовищі VirtualBox, тому для її вирішення нам потрібно встановити IP-адресу в одному сегменті локальної мережі; наприклад:

На своїй хост-машині відкриваю cmdта набираю ipconfig. Я отримую 100.2.2.1 (наприклад).

Отже, у віртуальній машині нам слід встановити адресу ВМ у /etc/hostsзначення, як 100.2.2.3, подивитися остаточне число та відскочити віртуальну машину, але перед запуском віртуальної машини налаштуйте мережу в налаштуваннях віртуальної машина, тому нам потрібно встановити мережевий адаптер в мостовому з'єднанні.

Все це знаходиться в середовищі Solaris.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.