Почему соединение SSH может не работать при правильной настройке?

Почему соединение SSH может не работать при правильной настройке?

Используя Ubuntu Server 14.04, я запустил ssh-сервер на порту 2222 (они так и просили при сборке). Я уже проверил все настройки, и, похоже, ничего не в порядке.

Вот что установлено:

  • При сборке они перенаправляют TCP-соединения на порт 2222 на мой IP.
  • То же самое касается порта 80, до которого я могу добраться.
  • Когда я пытаюсь подключиться через SSH на порт 2222, я вижу входящую сетевую активность с помощьюiftop.
  • я получилufwработающий с надлежащими правилами:

    2222/TCP ALLOW Anywhere

  • Вsshd.confфайл, который я получил:

  • У меня есть SSH-сервер, прослушивающий порт 2222.

  • Я установил SSH-сервер в режим ведения журнала, но при попытке подключения AUTHничего не вижу ./var/log/auth.log
  • Это мой файл sshd.conf.
  • Да, демон ssh запущен и был перезапущен.

Поэтому всякий раз, когда я пытаюсь подключиться, я получаю сообщение вроде:

ssh: connect to host <publicbuildingip> port 2222: Connection refused

Запуск клиента в подробном режиме выводит:

debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to <publicip> [<publicip>] port 2222.
debug1: connect to address <publicip> port 2222: Connection refused
ssh: connect to host <publicip> port 2222: Connection refused

То же самое произойдет, если я попытаюсь войти с хоста в той же сети.

Бегnetstatна сервере как sudo netstat -tulpn | grep sshвыходы:

tcp    0    0 127.0.0.1:2222    0.0.0.0:*    LISTEN    969/sshd

Бегnmapпротив публичного IP из-за пределов сети выводит:

Host is up (0.051s latency).
Not shown: 996 filtered ports
PORT     STATE  SERVICE
21/tcp   closed ftp
80/tcp   open   http
2222/tcp closed unknown
8080/tcp closed http-proxy

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

Попытка telnet <publicip>2222

Выходы:

telnet: Unable to connect to remote host: Connection refused

То же самое происходит, если попытаться использовать сетевой IP-адрес внутри здания.

Но iftop, запущенный на сервере, показывает, что при попытке входа в систему действительно наблюдается сетевая активность.

Бегtcpdumpна сервере типа: tcpdump -vniay port 2222 -i eth0выведет это при попытке входа в систему:

15:53:36.812402 IP (tos 0x0, ttl 64, id 56954, offset 0, flags [DF], proto TCP (6), length 60)
  192.168.1.86.39822 > 192.168.1.90.2222: Flags [S], cksum 0xa1b8 (correct), seq 3966921350, win 292000, options [mss 1460,sackOK,TS val 308476 ecr 0,nop,wscale 7], lenght 0

Что может быть неисправным?

решение1

На основе этого netstatвывода и вашего sshdфайла конфигурации (особенноэта линия) ваш демон SSH прослушивает только локальный IP-адрес (127.0.0.1), а не IP-адрес, который фактически взаимодействует с вашей локальной сетью или исходит через маршрутизатор/шлюзовое устройство в сети.

Убедитесь, что у вас sshd_configнастроена ListenAddressлиния, которая находится в вашей локальной сети, например, частный IP-адрес локальной сети, назначенный серверу. Если у вас его нет, добавьте его после директивы порта с синтаксисом, например, ListenAddress 0.0.0.0или ListenAddress ::, заменив эти элементы фактическими адресами IPv4 или IPv6.

И помните, что привязка к любому IP-адресу в диапазоне 127.0.0.0/8 приведет только к локальному компьютеру, а не к любому адресу, который может фактически маршрутизироваться в вашу локальную сеть / локальную сеть / куда-либо еще.

Связанный контент