Назад | Перейти на главную страницу

Соединение Putty SSH не работает

Я пытаюсь подключиться к серверу Solaris с помощью шпатлевки из клиента Windows. SSH-соединение не работает. В окне терминала просто отображается сообщение об ошибке «Ошибка сети: в соединении отказано». Telnet, использующий шпатлевку, отлично работает с тем же сервером. Может кто-нибудь подробно описать, какие конфигурации необходимо проверить в этом случае? Как устранить неполадки? (В той же сети есть и другие серверы, которые разрешают соединение SSH.)

Вот несколько шагов, которые вы можете использовать для диагностики проблемы:

  1. Проверьте, запущен ли sshd на хосте (ps -ef | grep ssh)
  2. Убедитесь, что sshd привязан к порту 22 с помощью netstat (netstat -al | grep "LISTEN" должен работать)
  3. Посмотрите, можете ли вы подключиться к реальному IP-адресу через ssh с хост-машины (если нет, либо есть локальный брандмауэр, либо sshd не работает должным образом
  4. Попробуйте выполнить эхо-запрос хоста с клиентского компьютера (если это не удается, существует проблема с маршрутизацией)
  5. Попробуйте подключиться по telnet к порту 22 с клиентской машины (telnet 192.168.1.1 22) (если это не удается, вас блокирует брандмауэр)
  6. Наконец, если все вышеперечисленное прошло успешно, но вы не можете использовать ssh с помощью клиента ssh - переустановите клиент ssh.

Я знаю, это кажется очевидной проверкой. Но подтвердили ли вы, что на вашем сервере Solaris работает sshd? Как только вы подключитесь к машине, запустите netstat чтобы узнать, прослушивает ли он порт ssh (порт 22). Если это так, то следующим портом захода будет проверка /etc/hosts.allow и так далее, как предложил MathewC.

Убедитесь, что между вами и сервером нет брандмауэра.

Если вы подтверждаете, что ssh запущен на машине, вы можете проверить, видит ли клиентская машина, с которой вы пытаетесь подключиться, порт 22 как открытый с помощью nmap.

nmap -p22 [solaris-box-ip]

Если это Solaris 10, проверьте, работает ли SSHD, выполнив svcs -p ssh команда. Это скажет вам, работает ли SSH, а если нет, то почему (возможно, по какой-то причине произошел сбой зависимости, или, возможно, она была отключена).

Вы можете включить SSH, выполнив svcadm enable ssh

В соединении отказано означает, что служба работает, но у вас нет доступа.

Проверьте /etc/hosts.allow

Возможно, вам также потребуется запустить

inetadm -m сеть / telnet: по умолчанию tcp_wrappers = ИСТИНА

чтобы добавить в список проверок, используйте svcs -xv чтобы проверить, есть ли какие-либо неисправные службы, и является ли ssh одним из них. Это также дает вам представление о том, почему служба не работает.