SSH-клиент отказывается подключаться к любому серверу (соединение отказано)

Из ниоткуда мой SSH-клиент решил прекратить подключение к любому серверу (будь то SSH-сервер или нет) и выдать следующую ошибку:

ssh: connect to host x.x.x.x port 22: Connection refused

Имейте в виду, это не простая ошибка установки. Я полностью осознаю, что сервер SSH работает на хостах, к которым я пытаюсь подключиться, о чем свидетельствует следующее:

➜  ~ sudo nmap -sS 192.168.0.200
Password:

Starting Nmap 7.01 ( https://nmap.org ) at 2018-04-01 10:58 IST
Nmap scan report for 192.168.0.200
Host is up (0.0035s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh   <========================
80/tcp  open  http
81/tcp  open  hosts2-ns
443/tcp open  https
MAC Address: B8:27:EB:7C:24:64 (Raspberry Pi Foundation)

Nmap done: 1 IP address (1 host up) scanned in 0.47 seconds

Я также могу успешно подключиться к нему по телнету (нет сообщения об отказе в соединении)

➜  ~ telnet 192.168.0.200 22
Trying 192.168.0.200...
Connected to 192.168.0.200.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4p1 Raspbian-10+deb9u2

Тем не мение...

➜  ~ ssh [email protected]
ssh: connect to host 192.168.0.200 port 22: Connection refused

Это показывает, что это не ошибка с моим сервером или даже с моей машиной как таковой, а с клиентом SSH, поскольку он не может подключиться к явно открытому порту и сервисному порту SSH. Интересно, что он терпит неудачу с любым адресом, независимо от того, доступен ли он вообще или нет, что еще больше заставляет меня думать, что это проблема с моим SSH-клиентом, а не с брандмауэром:

➜  ~ ssh 1.1.1.1
ssh: connect to host 1.1.1.1 port 22: Connection refused
➜  ~ ssh 23.23.23.23
ssh: connect to host 23.23.23.23 port 22: Connection refused
➜  ~ ssh 232.221.231.3
ssh: connect to host 232.221.231.3 port 22: Connection refused
➜  ~ ssh 192.168.0.0
ssh: connect to host 192.168.0.0 port 22: Connection refused
➜  ~ ssh 123.123.0.1
ssh: connect to host 123.123.0.1 port 22: Connection refused

Как это вообще возможно? SSH даже не пытается установить соединение и утверждает, что "соединение отказано". Что может быть виновником?

Дополнительная информация:

➜  ~ uname -a
Darwin MacBook-Air.local 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64

1 ответ

Решение

Это оказалось легко исправить. Если есть кто-то еще, проходящий через это, рассмотрите следующее...

Ранее я включил SOCKS-прокси в сетевых настройках macOS> Дополнительно... > Прокси-серверы> SOCKS Proxy. Это выглядело так:

Короче говоря, этот сервер больше не работал, поэтому прокси-соединения с обратной связью были неудачными. Причина, по которой Chrome, Telnet и Nmap работали, заключалась в том, что они не уважали настройку SOCOS-прокси macOS. Любые приложения, которые действительно соблюдают эти настройки (например, ssh) не смогли получить доступ к Интернету, поэтому SSH-соединения не работали.

Я не уверен на 100%, почему SSH выдал "отказано в соединении" вместо какой-то общей "недоступной" ошибки, но я знаю, что причиной был прокси SOCKS. Если то же самое происходит с вами, попробуйте проверить настройки прокси!

Другие вопросы по тегам