1

У меня есть сервер Ubuntu 12.04 с именами хостов 'example.org' и 'sub.domain.com', а также с некоторым IP-адресом xxxx и установленным fail2ban .

На одном клиентском компьютере я могу использовать SSH на своем сервере по адресу user@example.org, user@sub.domain.com и user @ xxxx. Однако на другом клиенте я не могу использовать SSH на user@example.org.

Кроме того, при копании в сервер /var/log/ files нет журналов для второго клиента, пытающегося войти через user@example.org. Это также очевидно в том, что fail2ban не блокирует второго клиента при нескольких неудачных попытках ввода пароля по адресу user@example.org.

ssh -vvv user@example.org на втором клиенте, последнее отладочное сообщение просто говорит о том, что клиент общается с сервером, а затем отказывается.

Есть ли способ для меня для дальнейшей отладки проблемы на сервере, или что-то, что мне не хватает?

Изменить: Я также должен отметить, что имя хоста разрешается правильно на всех машинах - ping , nslookup и wget все, кажется, работают правильно при попытке разрешить example.org.

2 ответа2

0

Трудно сказать, в чем реальная проблема, потому что вы запутываете сообщения об ошибках. Они информативны, знакомы и менее двусмысленны, чем ваши представления / интерпретации. Если у вас есть сообщения об ошибках, сообщите их при обращении в службу поддержки.

Разница, насколько я понимаю, заключается в том, где расположены эти клиентские машины относительно сервера. Я предполагаю, что один внутри, а другой снаружи.

Ошибка «- а затем отрицается». означает, что сервер не прослушивает этот порт. То есть запрошенный порт TCP не привязан к прослушивающему сокету на запрошенном интерфейсе (IP-адрес). В качестве альтернативы это означает - клиент не может достичь запрошенного порта на xxxx из-за брандмауэра.

Ты должен:

а. Разрешить подключения, исходящие от внешнего интерфейса, для достижения TCP-порта 22

  • iptables -A INPUT -p tcp --dport ssh -j ПРИНЯТЬ

б. Сконфигурируйте sshd для прослушивания на всех интерфейсах (по умолчанию) или на ip внешнего интерфейса.

  • ListenAddress xxxx (/etc/sshd/sshd_config)

Если внешний интерфейс вашего хоста sshd имеет другой IP-адрес, чем тот, к которому относится example.org, то у вас есть NAT.

с. Настройте маскарадинг (NAT) на своем маршрутизаторе.

INTERNAL_IP=10.3.0.7
INTERNAL_NM=255.255.255.224
INTERNAL=eth0
EXTERNAL=wlan0

ifconfig $INTERNAL $INTERNAL_IP netmask $INTERNAL_NM up

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $EXTERNAL -s 10.3.0.0/24 -j MASQUERADE
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state \
                                   --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT

# -m state is deprecated these days so you should probably figure out what the 
# new NAT method is

Чтобы получить правильный ответ, попробуйте обновить ваши вопросы с помощью:

  • реальные сообщения об ошибках
  • реальные адреса
  • это хххх = 10.ххх или 192.ххх?
  • xxxx адрес интерфейса, где слушает sshd? (не нужно раскрывать свои полные адреса, просто намеки на подсети)
  • как вы получаете "правильно разрешенное имя хоста"?
  • где ваши клиенты (IP)?

ref: Ubuntu iptables

0

Для упрощения отладки установите для директивы LogLevel в /etc /ssh /sshd_config значение Verbose или Debug (по умолчанию это Info)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .