SSH соединение отказано: как устранить неполадки?

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зависящий от вашего менеджера пакетов.

Shadur
источник
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.

pradeepchhetri
источник
3

Это означает, что либо сервер ssh не работает на этом компьютере, либо брандмауэр не пропускает ssh. Вы можете проверить, работает ли ssh с помощью 'ps -ax | grep ssh '.

Дэвид Шварц
источник
Отредактированный вопрос, чтобы показать результаты ps -ax. Не уверен, что это значит.
Эрик Уилсон
1
Значит sshне работает.
Дэвид Шварц
1
Weird. Я не уверен, почему вы уже дважды предлагали помощь, которая не очень полезна. Сначала вы предлагаете команду, полезную для проверки того, работает ли ssh, не объясняя, как интерпретировать результаты. Затем вы предоставляете минимальную интерпретацию этих результатов, без намека на то, как вы пришли к этой интерпретации или какие действия могут быть уместными. Я не уверен, пытаетесь ли вы мне помочь, и неправильно оцениваете мой уровень опыта, или вы пытаетесь подчеркнуть мое невежество.
Эрик Уилсон
3
Список процессов не включает sshdпроцесс, что означает, что sshdон не запущен. Решение состоит в том, чтобы начать sshd.
Дэвид Шварц
1

Предыдущие два варианта хороши. Вы также можете использовать аргументы -vили -vv.

$ ssh -vv eric@myserver
frogstarr78
источник
0

Я тоже сталкивался с этой проблемой, но в среде VirtualBox, поэтому для ее решения нам нужно установить IP-адрес в том же сегменте локальной сети; например:

На моей машине я открываю cmdи печатаю ipconfig. Я получаю 100.2.2.1 (например).

Таким образом, в виртуальной машине мы должны установить адрес виртуальной машины /etc/hostsв значение, подобное 100.2.2.3, взглянуть на окончательный номер и сбросить виртуальную машину, но перед запуском виртуальной машины настройте сеть в настройках виртуальной машины. машина, поэтому нам нужно установить сетевой адаптер в мостовом соединении.

Все это в среде Solaris.

Луис Торрес
источник