
Я пишу скрипт Bash в Linux для удаленного доступа к Windows-боксу. Я хотел бы захватить текущего пользователя и пароль для этого пользователя, чтобы скрипт мог войти в сеанс TS. Я создаю тонкий клиент с Linux.
решение1
Боюсь, система не знает ваш пароль. Никогда. Она знает только какой-то хэш вашего пароля. Природа хэшей такова, что их нельзя преобразовать обратно в открытый текст. Если вы вводите свой пароль, система использует ту же хэш-функцию, которая использовалась для создания пароля, и сравнивает хэши. Итак, захват пароля: во-первых: плохая идея оставлять его плавающим в костюме, сделанном скриптом bash в открытом тексте, если только вы не абсолютный эксперт по безопасности в Linux и не знаете, что делаете. Во-вторых: это совершенно невозможно сделать, и на то есть веская причина.
Однако есть и другие способы входа без пароля. Например, SSH/SSH-Server
предлагает аутентификацию с помощью системы открытого/закрытого ключа. Или вы можете использовать среду с единым входом, как это возможно с Kerberos. Поскольку второй вариант довольно излишен, если его еще нет в вашей сети, используйте аутентификацию на основе ключа ssh. Существуетвопрос на askUbuntuоб этом. Вам нужно будет найти sshd для windwos. Википедияспискинесколько. Это, скорее всего, ограничит ваш доступ к полю Windows текстовой консолью.
Для gui-logins вы можете повозиться с Krdc
или Remmina
. Но я не знаю, насколько хорошо вы сможете интегрировать их в скрипт, не говоря уже о входе без пароля.
решение2
Введите команду в терминале
$ sudo apt-get install zenity
то вам нужно создать свой bash-скрипт со следующим содержимым:
zenity --password