Я хочу войти в удаленную машину и выполнить сценарий оболочки. Этот скрипт будет запрашивать идентификатор пользователя и пароль во время выполнения.Передача пароля скрипту оболочки через JSCh
Можно ли это сделать с помощью JSch?
Я хочу войти в удаленную машину и выполнить сценарий оболочки. Этот скрипт будет запрашивать идентификатор пользователя и пароль во время выполнения.Передача пароля скрипту оболочки через JSCh
Можно ли это сделать с помощью JSch?
Есть несколько точек, чтобы рассмотреть здесь:
Для подключения к серверу, вы будете использовать JSch сессии, а затем exec
канал (т.е. ChannelExec), давая название сценария как команда.
Затем скрипт попытается прочитать пароль. Вам придется передать его на выходной поток канала, который подключен к входному потоку скрипта.
Сценарий может попытаться не читать со стандартного ввода, а с терминала. Если это так, вам нужно включить «псевдотерминал», используя метод setPty(true)
и, возможно, даже установив тип терминала другими способами. Конечно, это также будет зависеть от SSH-сервера, поддерживающего это, но если вы можете использовать другие SSH-программы для этого, он должен работать.
привет, пожалуйста, поделитесь примером для получения пароля в качестве входных данных. – Prasad
Какие права у вас есть на удаленном компьютере? Вы регистрируетесь как root? Можно ли считать, что удаленный компьютер находится в Linux? –
Если вы пытаетесь выполнить команду «sudo su» при удалении Linux, вы столкнетесь с проблемами с JSch. См. Также http://stackoverflow.com/questions/8441637/to-run-sudo-commands-on-a-ec2-instance –
Для лучшего понимания: если вы подключены к компьютеру, вы хотите запустить дополнительный сценарий оболочки, который показывает вам запрос для данных входа и пароля? – reporter