Putty не подключается к SSH
Список форумов SYSAdmins.RU -> UNIX | На страницу 1, 2 След. |
Автор | |||||
---|---|---|---|---|---|
G@rry_ Участник форума Зарегистрирован: 05.08.2015 |
| ||||
Вернуться к началу |
| ||||
Зарегистрируйтесь и реклама исчезнет! | |||||
Andris76 Участник форума Зарегистрирован: 07.06.2010
|
| ||||
Вернуться к началу |
| ||||
G@rry_ Участник форума Зарегистрирован: 05.08.2015 |
| ||||
Вернуться к началу |
| ||||
i_stas [+] Зарегистрирован: 09.03.2016 |
| ||||
Вернуться к началу |
| ||||
G@rry_ Участник форума Зарегистрирован: 05.08.2015 |
| ||||
Вернуться к началу |
| ||||
ADMINDM guru Зарегистрирован: 04.11.2007
|
| ||||
Вернуться к началу |
| ||||
G@rry_ Участник форума Зарегистрирован: 05.08.2015 |
| ||||
Вернуться к началу |
| ||||
G@rry_ Участник форума Зарегистрирован: 05.08.2015 |
| ||||
Вернуться к началу |
| ||||
ADMINDM guru Зарегистрирован: 04.11.2007
|
| ||||
Вернуться к началу |
| ||||
G@rry_ Участник форума Зарегистрирован: 05.08.2015 Источник Устранение неполадок SSH: проблемы с подключением к серверуВ первой статье этой серии вы узнали о том, как и в каких ситуациях вы можете попробовать исправить ошибки SSH. Остальные статьи расскажут, как определить и устранить ошибки:
Для взаимодействия SSH-клиента с SSH-сервером необходимо установить базовое сетевое подключение. Это руководство поможет определить некоторые общие ошибки подключения, исправить их и предотвратить их возникновение в будущем. Требования
Основные ошибкиРазрешение имени хостаБольшинство ошибок подключения возникает тогда, когда ссылка на хост SSH не может быть сопоставлена с сетевым адресом. Это почти всегда связано с DNS, но первопричина часто бывает не связана с DNS. На клиенте OpenSSH эта команда: может выдать ошибку: ssh: Could not resolve hostname example.com: Name or service not known В PuTTY может появиться такая ошибка: Unable to open connection to example.com Host does not exist Чтобы устранить эту ошибку, можно попробовать следующее:
Если у вас возникают проблемы с разрешением DNS на любом уровне, в качестве промежуточного решения можно использовать IP-адрес сервера, например: ssh user@111.111.111.111 Истечение времени соединенияЭта ошибка значит, что клиент попытался установить соединение с SSH-сервером, но сервер не смог ответить в течение заданного периода ожидания. На клиенте OpenSSH следующая команда: выдаст такую ошибку: ssh: connect to host 111.111.111.111 port 22: Connection timed out В PuTTY ошибка выглядит так: Network error: Connection timed out Чтобы исправить ошибку:
Отказ в соединенииЭта ошибка означает, что запрос передается на хост SSH, но хост не может успешно принять запрос. На клиенте OpenSSH следующая команда выдаст ошибку: ssh user@111.111.111.111 В PuTTY ошибка появится в диалоговом окне: Network error: Connection refused Эта ошибка имеет общие с ошибкой Connection Timeout причины. Чтобы исправить её, можно сделать следующее:
Рекомендации по исправлению ошибок подключенияБрандмауэрИногда проблемы с подключением возникают из-за брандмауэра. Он может блокировать отдельные порты или сервисы. В разных дистрибутивах используются разные брандмауэры. Вы должны научиться изменять правила и политики своего брандмауэра. В Ubuntu обычно используется UFW, в CentOS – FirewallD. Брандмауэр iptables используется независимо от системы. Читайте также: Чтобы настроить брандмауэр, нужно знать порт сервиса SSH. По умолчанию это порт 22. Чтобы запросить список правил iptables, введите: Такой вывод сообщает, что правил, блокирующих SSH, нет: Chain INPUT (policy ACCEPT) Если в выводе вы видите правило или политику по умолчанию REJECT или DROP, убедитесь, что цепочка INPUT разрешает доступ к порту SSH. Чтобы запросить список правил FirewallD, введите: Список, появившийся на экране, содержит все сервисы, которые поддерживаются брандмауэром. В списке должно быть правило: dhcpv6-client http ssh Если вы настроили пользовательский порт SSH, используйте опцию –list-ports. Если вы создали пользовательское определение сервиса, добавьте опцию –list-services, чтобы найти SSH. Чтобы проверить состояние UFW, введите: Команда вернёт доступные порты: Status: active В списке должен быть порт SSH. Проверка состояния сервиса SSHЕсли вы не можете подключиться к серверу по SSH, убедитесь, что сервис SSH запущен. Способ сделать это зависит от операционной системы сервера. В более старых версиях дистрибутивов (Ubuntu 14.04, CentOS 6, Debian 8) используется команда service. Современные дистрибутивы на основе Systemd используют команду systemctl. Метод проверки состояния сервиса может варьироваться от системы к системе. В более старых версиях (Ubuntu 14 и ниже, CentOS 6, Debian 6) используется команда service, поддерживаемая системой инициализации Upstart, а в более современных дистрибутивах для управления сервисом используется команда systemctl. Примечание: В дистрибутивах Red Hat (CentOS и Fedora) сервис называется sshd, а в Debian и Ubuntu – ssh. В более старых версия используйте команду: service ssh status Если процесс работает должным образом, вы увидите вывод, который содержит PID: ssh start/running, process 1262 Если сервис не работает, вы увидите: В системах на основе SystemD используйте: systemctl status sshd В выводе должна быть строка active: sshd.service — OpenSSH server daemon Если сервис не работает, вы увидите в выводе inactive: sshd.service — OpenSSH server daemon Чтобы перезапустить сервис, введите соответственно: service ssh start Проверка порта SSHСуществует два основных способа проверить порт SSH: проверить конфигурационный файл SSH или просмотреть запущенный процесс. Как правило, конфигурационный файл SSH хранится в /etc/ssh/sshd_config. Стандартный порт 22 может переопределяться любой строкой в этом файле, определяющей директиву Port. Запустите поиск по файлу с помощью команды: grep Port /etc/ssh/sshd_config Если вы уже убедились, что сервис работает, теперь вы можете узнать, работает ли он на требуемом порте. Для этого используйте команду ss. Команда netstat –plnt выдаст аналогичный результат, но команду ss рекомендуется использовать для запроса информации сокета из ядра. В выводе должно быть указано имя программы и порт, который она прослушивает. Например, следующий вывод сообщает, что сервис SSH прослушивает все интерфейсы и порт 22. State Recv-Q Send-Q Local Address:Port Peer Address:Port Символ * и 0.0.0.0 указывает, что все интерфейсы сервера прослушиваются. Строка 127.0.0.1 значит, что сервис не является общедоступным. В sshd_config директива ListenAddress должна быть закомментирована, чтобы прослушивать все интерфейсы, или должна содержать внешний IP-адрес сервера. Если у вас не получается самостоятельно настроить соединение SSH, вы можете обратиться за помощью к службе поддержки своего хостинг-провайдера. Источник |