Я тестирую соединения с сервером с использованием OpenSSL, с разными результатами

  • Сервер A: соединение установлено успешно, как и вход пользователя в систему и другие команды, которые я ожидал работать
  • Сервер B: соединение успешно, но сервер не отвечает, когда я пытаюсь отправить команду. Я не получаю ошибку или даже отключение - просто пустая строка, откуда я нажимаю Enter или ^ M

Я догадываюсь, что конфигурация сервера B требует другой кодировки символов или чего-то еще, и он просто не распознает мое нажатие клавиши Enter, но я посмотрел безрезультатно ... любые предложения будут оценены!

2 ответа2

1

Оказывается, мое первоначальное подозрение было верным ... сервер просто не принимал мою команду Enter. Добавление флага -crlf позаботилось об этом:

openssl s_client -connect server:port -crlf

Из того, что я прочитал, это заставляет инструмент s_client отправлять CR/LF когда вы нажимаете Enter, что необходимо для чтения на сервере Windows. Таким образом, вполне вероятно, что сервер A работал, потому что это был сервер * NIX, а сервер B - сервер Windows.

1

Я предполагаю, как @UtahJarhead, что вы имеете в виду OpenSSH.

Я не очень разбираюсь в кодировках, но я был бы удивлен, узнав, что такие вещи, как пробел, ввод, ноль и т.д. - низкоуровневые ASCII - отличались.

  1. Проверьте оболочку пользователя сервера B. Можете ли вы получить доступ к этой машине как-нибудь и su для этого пользователя? Возникает ли такая же проблема?
  2. Проверьте конфигурацию sshd. Есть ли какие-нибудь подозрительные варианты, такие как ChrootDirectory , ForceCommand и т.д.? Разберитесь с конфигами sshd с обоих серверов и посмотрите, что выглядит подозрительно
  3. Отладка Подключитесь к серверу B, как ssh -vvv user@serverb и найдите вывод sus. Мое распределение оболочки выглядит так:

    debug2: channel 1: request shell confirm 1
    debug2: callback done
    debug2: channel 1: open confirm rwindow 0 rmax 32768
    debug2: channel_input_status_confirm: type 99 id 1
    debug2: PTY allocation request accepted on channel 1
    debug2: channel 1: rcvd adjust 2097152
    debug2: channel_input_status_confirm: type 99 id 1
    debug2: shell request accepted on channel 1
    

    Это последние строки вывода отладки для меня.

В противном случае - какие очевидные вещи отличаются между этими машинами?

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