2012-09-20 3 views
1

Я хочу войти в удаленную машину и выполнить сценарий оболочки. Этот скрипт будет запрашивать идентификатор пользователя и пароль во время выполнения.Передача пароля скрипту оболочки через JSCh

Можно ли это сделать с помощью JSch?

+0

Какие права у вас есть на удаленном компьютере? Вы регистрируетесь как root? Можно ли считать, что удаленный компьютер находится в Linux? –

+0

Если вы пытаетесь выполнить команду «sudo su» при удалении Linux, вы столкнетесь с проблемами с JSch. См. Также http://stackoverflow.com/questions/8441637/to-run-sudo-commands-on-a-ec2-instance –

+0

Для лучшего понимания: если вы подключены к компьютеру, вы хотите запустить дополнительный сценарий оболочки, который показывает вам запрос для данных входа и пароля? – reporter

ответ

0

Есть несколько точек, чтобы рассмотреть здесь:

  • Для подключения к серверу, вы будете использовать JSch сессии, а затем exec канал (т.е. ChannelExec), давая название сценария как команда.

  • Затем скрипт попытается прочитать пароль. Вам придется передать его на выходной поток канала, который подключен к входному потоку скрипта.

  • Сценарий может попытаться не читать со стандартного ввода, а с терминала. Если это так, вам нужно включить «псевдотерминал», используя метод setPty(true) и, возможно, даже установив тип терминала другими способами. Конечно, это также будет зависеть от SSH-сервера, поддерживающего это, но если вы можете использовать другие SSH-программы для этого, он должен работать.

+0

привет, пожалуйста, поделитесь примером для получения пароля в качестве входных данных. – Prasad

Смежные вопросы