Скрытие пользовательского ввода

Я пытаюсь получить сценарий, который работает как в собственной оболочке Windows, так и в оболочке cygwin (через ssh), которая запрашивает и считывает пароль, введенный пользователь. До сих пор я пробовал следующие методы:

  1. с использованием Term :: ReadKey и установкой ReadMode на 'noecho' m пытается получить сценарий, который работает как в собственной оболочке Windows, так и в оболочке cygwin (через ssh), которая запрашивает и считывает пароль, введенный пользователем. До сих пор я пробовал следующие методы: ...

    Я пытаюсь получить сценарий, который работает как в собственной оболочке Windows, так и в оболочке cygwin (через ssh), которая запрашивает и считывает пароль, введенный пользователь. До сих пор я пробовал следующие методы:

    1. с использованием Term :: ReadKey и установкой ReadMode на 'noecho' m пытается получить сценарий, который работает как в собственной оболочке Windows, так и в оболочке cygwin (через ssh), которая запрашивает и считывает пароль, введенный пользователем. До сих пор я пробовал следующие методы: ...

      Я пытаюсь получить сценарий, который работает как в собственной оболочке Windows, так и в оболочке cygwin (через ssh), которая запрашивает и считывает пароль, введенный пользователь. До сих пор я пробовал следующие методы:

      1. с использованием Term :: ReadKey и установкой ReadMode на 'noecho'
        • РЕЗУЛЬТАТ: возвращает ошибку GetConsoleMode не удалось и завершает работу
      2. с использованием Term :: ReadPassword :: Win32
        • РЕЗУЛЬТАТ: зависает и никогда не предлагает подсказку или не читает ввод
      3. с помощью IO :: Prompt
        • РЕЗУЛЬТАТ: возвращает ошибку Невозможно записать на терминал и завершает работу
      4. с использованием Term :: InKey
        • РЕЗУЛЬТАТ: возвращает ошибку Не реализовано в MSWin32: дескриптор недействителен и завершается

      Все это работает в собственной оболочке Windows (командная строка или оболочка питания), но ни один из них не работает когда я нахожусь в ssh-сеансе с сервером.

      На самом деле, это то, что меня больше всего интересует, заставить его работать в удаленном ssh-сеансе.

      Я получаю ssh через cygwin, установленный в Windows сервер (2003 R2). Я использую клубничный Perl, а не cygwin perl (cygwin perl нарушает другие сценарии Perl, которые мне нужно запускать изначально в Windows, а не через ssh).

      Мое лучшее предположение - cygwin + Windows достаточно сильно болтает с клубничным Perl, чтобы он не могу сказать, в какой среде это находится. Я ищу альтернативные решения sshd + Windows, чтобы изучить это.

      Это все методы, которые я ' мне удалось найти в моем поиске. Есть ли у кого-нибудь еще какие-либо другие методы скрытия пользовательского ввода, которые они могут предложить?

8
задан CloudyMarble 5 February 2013 в 11:28
поделиться