簡體   English   中英

在JSch中使用sftp發出任何命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM