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