簡體   English   中英

通過SSH的Java文件命令

[英]Java File commands over SSH

我正在創建一個通過ssh做很多事情的java程序。

在我的程序中,我需要能夠在遠程主機上運行諸如“ listFiles()”之類的方法。 我還需要能夠從Apache Commons io運行幾個命令(我正在使用“ FileUtils”類)。 我見過諸如JSch之類的程序,但是它們在文件操作和傳輸方面都沒有足夠的靈活性。

有人可以建議替代方案或解決我的問題的方法嗎?

相反,JSch確實支持文件傳輸: http : //www.jcraft.com/jsch/examples/ScpTo.java.html

至於列出遠程主機上的文件,您不能僅使用Apache Commons FileUtils在此處運行Java命令。 您要做的是在遠程OS上遠程執行命令-等效於通過命令行ssh執行此操作:

ssh remotehost ls /path/to/remote/dir

您選擇的任何ssh庫(不僅僅是JSch)幾乎都是如此。

因此,就JSch而言,這將是(假設您已經設置並連接了一個Jsch ssh會話):

ChannelExec channel= (ChannelExec) session.openChannel("exec");
channel.setCommand("ls /path/to/remote/dir");
InputStream in=channel.getInputStream();
channel.connect()
// read your ls-output from the input stream here
channel.disconnect()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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