日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

简单的Java SSH客户端

發布時間:2023/12/3 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单的Java SSH客户端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

可以使用jcabi-ssh在Java中通過幾行代碼通過SSH執行shell命令:

String hello = new Shell.Plain(new SSH("ssh.example.com", 22,"yegor", "-----BEGIN RSA PRIVATE KEY-----...") ).exec("echo 'Hello, world!'");

jcabi-ssh是JSch的便捷包裝, JSch是SSH2的著名純Java實現。

這是一個更復雜的場景,其中我通過SSH上傳文件,然后讀回其grepped的內容:

Shell shell = new SSH("ssh.example.com", 22,"yegor", "-----BEGIN RSA PRIVATE KEY-----..." ); File file = new File("/tmp/data.txt"); new Shell.Safe(shell).exec("cat > d.txt && grep 'some text' d.txt",new FileInputStream(file),Logger.stream(Level.INFO, this),Logger.stream(Level.WARNING, this) );

實現接口Shell SSH類只有一種方法exec 。 此方法接受四個參數:

interface Shell {int exec(String cmd, InputStream stdin,OutputStream stdout, OutputStream stderr); }

我認為這些論點是顯而易見的。

還有一些方便的修飾器,使使用簡單命令更容易操作。

殼牌安全

Shell.Safe裝飾Shell一個實例,并且如果exec退出代碼不等于零,則引發異常。 當您要確保命令成功執行但又不想在代碼的很多地方重復if/throw不重復時,這可能非常有用。

Shell ssh = new Shell.Safe(new SSH("ssh.example.com", 22,"yegor", "-----BEGIN RSA PRIVATE KEY-----...") );

殼牌

Shell.Verbose裝飾Shell一個實例,并將stdout和stderr復制到slf4j日志記錄工具(使用jcabi-log )。 當然,您可以組合裝飾器,例如:

Shell ssh = new Shell.Verbose(new Shell.Safe(new SSH("ssh.example.com", 22,"yegor", "-----BEGIN RSA PRIVATE KEY-----...")) );

殼牌

Shell.Plain是Shell的包裝,它引入了一個僅具有一個參數(執行命令)的新exec方法。 它還不返回退出代碼,而是返回stdout 。 當您想執行一個簡單命令并僅獲取其輸出時,這應該非常方便(為了安全Shell.Safe ,我將其與Shell.Safe結合使用):

String login = new Shell.Plain(new Shell.Safe(ssh)).exec("whoami");

下載

您在Maven項目中需要一個依賴項jcabi-ssh.jar (在Maven Central中獲取最新版本):

<dependency><groupId>com.jcabi</groupId><artifactId>jcabi-ssh</artifactId> </dependency>
  • 該項目在Github中 。 如果您有任何問題,只需提交一個問題。 我會盡力的。

相關文章

您可能還會發現以下有趣的帖子:

  • 流利的JDBC裝飾器
  • 如何在異常上重試Java方法
  • 緩存Java方法結果
  • 如何讀取MANIFEST.MF文件
  • 帶有AOP和注釋的Java方法記錄

翻譯自: https://www.javacodegeeks.com/2014/09/simple-java-ssh-client.html

總結

以上是生活随笔為你收集整理的简单的Java SSH客户端的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。