Установка и настройка ssh. Putty выдает ошибку connection refused. Что делать?

Имеется droplet на digitalOcean. Там располагается сайт на node.js. Все работает. Настраивал сервер человек, с которым нет контактов.
В один прекрасный момент перестал работать ssh через putty. Доступ к консоли остался через кабинет digitalocean.
Мною была произведена установка ssh, openssh-server, openssh-client и настройка sshd config по мануалу. После чего был рестарт ssh. Ошибки не какой не выдает. Пишет что все ок запуск произведен.
ps auxw | grep ssh выдает
ssh ругается при соединении ошибкой connection refused.
Гугление и поиск проблемы не принесло плодов. Возможно я даже не знаю как правильно загуглить:)
Так же мои познания в администрировании linux стоят желать лучшего.
В какую сторону идти для исправления ошибки? С чего начать? Может это типичная ошибка?
- Вопрос задан более трёх лет назад
- 12074 просмотра
1 комментарий
Оценить 1 комментарий
Как исправить ошибку «PuTTY Fatal Error — Network error: Connection refused»?
купил виртуальный хост, дали мне ip-адрес, логин и пароль, только подключится к нему немогу, сразу после нажатия появляется консоль и выскакивает ошибка — «PuTTY Fatal Error — Network error: Connection refused» как исправить? может кто-то сталкивался с таким и знайтет как решить техподержка говорит что я неверно пароль ввожу, этого быть не может, все тщательно проявлял. Брандмауэр Защитника Windows отключал. Толку ноль! OS: Windows 10, Клиент: PuTTY
UPD: через браузер заходит. По SSH не работает. Подключится могу лишь через VPN или через 3G-интернет.

Отслеживать
Kill Noise
задан 18 ноя 2017 в 19:09
Kill Noise Kill Noise
1,214 6 6 золотых знаков 23 23 серебряных знака 49 49 бронзовых знаков
попробуйте Telnet
19 ноя 2017 в 2:06
аналогичная ошибка
19 ноя 2017 в 8:17
таже ошибка через клиент FileZilla Client
19 ноя 2017 в 8:19
очевидно, что коннект режется провайдером или роутером по протоколам или портам
22 ноя 2017 в 13:29
Проверил, на указанном ip 22 порт открыт. Винда обычно не режет исходящие соединения. Если помимо брандмауэра не установлен какой нибудь антивирусный софт. С другой стороны то что телефон не коннектится через WiFi говорит о том, что проблема где то дальше. Проверьте в настройках вашего роутера, не заданы ли там правила на не пропускание 22 порта (по умолчанию их нет, могут быть только если их явно задали). Если нет, то остается 2 варианта: 1. целевая машина не пропускает соединения именно с вашего IP (маловероятно). 2. соединения по 22 порту не пропускает ваш провайдер (обратитесь в поддержку)
26 ноя 2017 в 7:34
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Наиболее вероятную причину в лице хулиганящего провайдера уже указали, но можно собрать ещё чуть больше информации с помощью plink.exe (входит в состав PuTTY):
- Откройте консоль cmd
- Выполните plink -v ваш_хост
В ответ plink выдаст дополнительную информацию по используемому при подключении протоколу, что также позволит отсечь некоторые причины, типа устаревшего обмена ключами.
C:\Programs\PuTTY>plink -v Looking up host "" Connecting to port 22 We claim version: SSH-2.0-PuTTY_Release_0.67 Server version: SSH-2.0-OpenSSH_7.5p1 Ubuntu-10 Using SSH protocol version 2 Doing Diffie-Hellman group exchange Doing Diffie-Hellman key exchange with hash SHA-256 Host key fingerprint is: ssh-rsa 2048 45:f8:02:48:a0:76:db:93:1a:a4:1a:70:ea:1f:5f:71 The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's rsa2 key fingerprint is: ssh-rsa 2048 45:f8:02:48:a0:76:db:93:1a:a4:1a:70:ea:1f:5f:71 If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting. If you want to carry on connecting just once, without adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection. Store key in cache? (y/n) n Initialised AES-256 SDCTR client->server encryption Initialised HMAC-SHA-256 client->server MAC algorithm Initialised AES-256 SDCTR server->client encryption Initialised HMAC-SHA-256 server->client MAC algorithm login as: Disconnected: No username provided ^C
PuTTY, orange, network error
Второй день не могу подключится через PuTTY к orange pi lite, брандмауэр отключил, антивирус в обще удалил, роутер сбрасывал!, сам октопринт рабочий подключается все, через hdmi подключится тоже могу!, ПРИЧЕМ РАНЬШЕ ВСЕ РАБОТАЛО, не открываются порт 22 почему. Порты на роутере тоже пробрасывал, пробовал через Utorrent порт открывается но он занят получается и PuTTY не может подключится к orange pi lite. PuTTY удалял ставил новую версию тоже не помогло сейчас думаю как полностью удалить PuTTY что бы ничего не осталось ато гдето кеш остался, может кто знает как решить проблему с подключением, мне PuTTY пишет network error:network error: connection refused
Популярные вопросы
Ошибка в Klipper при печати. часть 2
Здравствуйте коллеги!Ранее, я писал, что получил ошибку падения температуры экструдера https://3dtoday.ru/questions/osibka-v-klipper-pri-pecati.
ультрабаза из стекла лазерным гравером
возможно ли усилить адгезивные свойства стекла с помощью его гравировки, например наделать отверстий с расстояними между ними как на родной ультрабазе.
Устранение неполадок SSH: проблемы с подключением к серверу
В первой статье этой серии вы узнали о том, как и в каких ситуациях вы можете попробовать исправить ошибки 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
Чтобы устранить эту ошибку, можно попробовать следующее:
- Проверьте правильность написания имени хоста.
- Убедитесь, что вы можете разрешить имя хоста на клиентской машине с помощью команды ping. Обратитесь к сторонним сайтам (WhatsMyDns.net, например), чтобы подтвердить результаты.
Если у вас возникают проблемы с разрешением DNS на любом уровне, в качестве промежуточного решения можно использовать IP-адрес сервера, например:
ssh user@111.111.111.111
# вместо
ssh user@example.com.
Истечение времени соединения
Эта ошибка значит, что клиент попытался установить соединение с SSH-сервером, но сервер не смог ответить в течение заданного периода ожидания.
На клиенте OpenSSH следующая команда:
выдаст такую ошибку:
ssh: connect to host 111.111.111.111 port 22: Connection timed out
В PuTTY ошибка выглядит так:
Network error: Connection timed out
Чтобы исправить ошибку:
- Убедитесь, что IP-адрес хоста указан правильно.
- Убедитесь, что сеть поддерживает подключение через используемый порт SSH. Некоторые публичные сети могут блокировать порт 22 или пользовательские SSH-порты. Чтобы проверить работу порта, можно, например, попробовать подключиться к другим хостам через этот же порт. Это поможет вам определить, не связана ли проблема с самим сервером.
- Проверьте правила брандмауэра. Убедитесь, что политика по умолчанию – не DROP.
Отказ в соединении
Эта ошибка означает, что запрос передается на хост SSH, но хост не может успешно принять запрос.
На клиенте OpenSSH следующая команда выдаст ошибку:
ssh user@111.111.111.111
ssh: connect to host 111.111.111.111 port 22: Connection refused
В PuTTY ошибка появится в диалоговом окне:
Network error: Connection refused
Эта ошибка имеет общие с ошибкой Connection Timeout причины. Чтобы исправить её, можно сделать следующее:
- Убедиться, что IP-адрес хоста указан правильно.
- Убедиться, что сеть поддерживает подключение через используемый порт SSH. Некоторые публичные сети могут блокировать порт 22 или пользовательские SSH-порты. Чтобы проверить работу порта, можно, например, попробовать подключиться к другим хостам через этот же порт.
- Проверить правила брандмауэра. Убедитесь, что политика по умолчанию – не DROP, и что брандмауэр не блокирует этот порт.
- Убедиться, что сервис запущен и привязан к требуемому порту.
Рекомендации по исправлению ошибок подключения
Брандмауэр
Иногда проблемы с подключением возникают из-за брандмауэра. Он может блокировать отдельные порты или сервисы.
В разных дистрибутивах используются разные брандмауэры. Вы должны научиться изменять правила и политики своего брандмауэра. В Ubuntu обычно используется UFW, в CentOS – FirewallD. Брандмауэр iptables используется независимо от системы.
Читайте также:
- Основы UFW: общие правила и команды фаервола
- Настройка брандмауэра FirewallD в CentOS 7
- Основы Iptables: общие правила и команды брандмауэра
Чтобы настроить брандмауэр, нужно знать порт сервиса SSH. По умолчанию это порт 22.
Чтобы запросить список правил iptables, введите:
Такой вывод сообщает, что правил, блокирующих SSH, нет:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Если в выводе вы видите правило или политику по умолчанию REJECT или DROP, убедитесь, что цепочка INPUT разрешает доступ к порту SSH.
Чтобы запросить список правил FirewallD, введите:
Список, появившийся на экране, содержит все сервисы, которые поддерживаются брандмауэром. В списке должно быть правило:
dhcpv6-client http ssh
Если вы настроили пользовательский порт SSH, используйте опцию –list-ports. Если вы создали пользовательское определение сервиса, добавьте опцию –list-services, чтобы найти SSH.
Чтобы проверить состояние UFW, введите:
Команда вернёт доступные порты:
Status: active
To Action From
— —— —-
22 LIMIT Anywhere
443 ALLOW Anywhere
80 ALLOW Anywhere
Anywhere ALLOW 192.168.0.0
22 (v6) LIMIT Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
В списке должен быть порт 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
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Mon 2017-03-20 11:00:22 EDT; 1 months 1 days ago
Process: 899 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
Main PID: 906 (sshd)
CGroup: /system.slice/sshd.service
├─ 906 /usr/sbin/sshd -D
├─26941 sshd: [accepted] └─26942 sshd: [net]
Если сервис не работает, вы увидите в выводе inactive:
sshd.service — OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: inactive (dead) since Fri 2017-04-21 08:36:13 EDT; 2s ago
Process: 906 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
Process: 899 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
Main PID: 906 (code=exited, status=0/SUCCESS)
Чтобы перезапустить сервис, введите соответственно:
service ssh start
systemctl start sshd
Проверка порта 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
LISTEN 0 128 *:22 *:* users:((«sshd»,pid=1493,fd=3))
LISTEN 0 128 . 22 . * users:((«sshd»,pid=1493,fd=4))
Символ * и 0.0.0.0 указывает, что все интерфейсы сервера прослушиваются. Строка 127.0.0.1 значит, что сервис не является общедоступным. В sshd_config директива ListenAddress должна быть закомментирована, чтобы прослушивать все интерфейсы, или должна содержать внешний IP-адрес сервера.
Если у вас не получается самостоятельно настроить соединение SSH, вы можете обратиться за помощью к службе поддержки своего хостинг-провайдера.