2015-12-30 5 views
0

Привет я в настоящее время, используя следующую строку кода для выполнения команд на удаленном сервереIssue любая команда с помощью SFTP в JSch

ChannelSftp sftp = (ChannelSftp)session.openChannel("sftp");

sftp.connect();

System.out.println("Current Directory: " + sftp.pwd()); < = Эта линия

Но pwd уже определен как метод в Class ChannelSftp, My Question - это то, что если я хочу выпустить некоторую команду или запустить любой .sh-файл, который не является методом в JSch?

Скажите, если я хочу запустить: файл sudo /opt/bin/run.sh.

или есть метод, который я могу использовать, чтобы сделать работу

(Пожалуйста, обратите внимание у меня есть Джамп сервер между LOCALHOST и веб-сервером. И веб-сервер может быть доступен только через прыжок server.So что это причина, по которой я не использую exec или shell).

ответ

1

Класс ChannelSftp реализует протокол SFTP, который может выполнять предварительные операции FTP. Выполнение случайной команды явно не разрешено через SFTP. В этом случае вам понадобится другой класс jsch lib: ChannelExec.

Пример here.