[英]Issue any command using sftp in JSch
嗨,我目前正在使用以下代碼行向遠程服務器發出命令
ChannelSftp sftp = (ChannelSftp)session.openChannel("sftp");
sftp.connect();
System.out.println("Current Directory: " + sftp.pwd());
<=此行
但是pwd已經在ChannelSftp類中定義為方法,我的問題是,如果我要發出一些命令或運行不是JSch中的方法的任何.sh文件,該怎么辦?
假設我要運行:sudo /opt/bin/run.sh文件。
或者有什么方法可以用來做這項工作
(請注意,我在本地主機和Web服務器之間有一個跳轉服務器。而且只能通過跳轉服務器訪問Web服務器。因此,這是我不使用exec或shell的原因)。
ChannelSftp類正在實現SFTP協議,該協議可用於執行FTP操作。 顯然,不允許通過SFTP執行隨機命令。 在這種情況下,您需要使用jsch lib的另一個類: ChannelExec 。
例子在這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.