需要先导入ssh bulid包,方法如下:

import ch.ethz.ssh2.Connection;

import ch.ethz.ssh2.Session;

import ch.ethz.ssh2.StreamGobbler;

public String execute(String ip, String cmd) {

String username = "root";

String password = "password";

try {

// 创建连接

Connection conn = new Connection ( ip, 22 );

// 启动连接

conn.connect ();

// 验证用户密码

conn.authenticateWithPassword ( username, password );

Session session = conn.openSession ();

//执行命令

session.execCommand ( cmd );

InputStream stdout = new StreamGobbler ( session.getStdout () );

BufferedReader br = new BufferedReader ( new InputStreamReader ( stdout ) );

StringBuffer buffer = new StringBuffer ();

String line;

while ((line = br.readLine ()) != null) {

buffer.append ( line + "\n" );

}

String result = buffer.toString ();

session.close ();

conn.close ();

//如果没有异常,返回结果为命令执行结果,如果有异常,返回null

return result;

} catch (IOException e) {

e.printStackTrace ();

return null;

}

}

也可以把redline()读取换成read(),从一行行读取变成按字符读取:

InputStream stdout = new StreamGobbler ( session.getStdout () );

StringBuffer buffer = new StringBuffer ();

byte[] bs = new byte[1024 * 16];

while(true) {

int count = stdout.read(bs);

if(count == -1) {

break;

} else {

buffer.append(new String(bs, 0, count));

}

}

stdout.close();

String result = buffer.toString ();

linux java 输出_Java远程连接linux的方法,执行命令并输出结果相关推荐

  1. java远程执行功能_Java远程连接Linux服务器并执行命令及上传文件功能

    Java远程连接Linux服务器并执行命令及上传文件功能 发布于 2020-3-6| 复制链接 摘记:  最近再开发中遇到需要将文件上传到Linux服务器上,至此整理代码笔记.此种连接方法中有考虑到并 ...

  2. Linux之使用MobaXterm远程连接Linux前提条件

    参考文章: Linux之使用NAT模式进行网络连接和用nmtui命令或修改文件方法固定IP地址 mobaxterm下载与使用mobaxterm远程登录Linux 六款Linux常用远程连接工具介绍,看 ...

  3. linux上mysql允许远程连接,linux下mysql允许远程连接

    1. MySql安装教程 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html 默认情况下mysq的 roo ...

  4. java实现连接linux,JAVA实现远道SSH连接linux并执行命令

    JAVA实现远程SSH连接linux并执行命令 package com.codeconch.ssh; import java.io.BufferedReader; import java.io.IOE ...

  5. linux xmanager端口,Xmanager远程连接Linux系统图形界面详解-Go语言中文社区

    1.首先安装与下载图形界面GNOME yum groupinstall "Desktop" yum groupinstall "X Window System" ...

  6. 华为云服务器安装桌面linux,华为云云桌面远程连接linux云服务器

    linux服务器系统版本ubuntu16.04 1. 安装xrdp sudo apt-get install xrdp 2.安装vnc4server sudo apt-get install vnc4 ...

  7. 远程连接Linux,如何使程序断开连接后继续运行

    摘要:远程连接到Linux终端后,如果发生意外或者人为断开了远程连接,那么正在运行的程序或命令(例如备份数据库这种比较耗时的操作)就会中断.原因是因为断开连接后,终端会收到SIGHUP(hang-up ...

  8. windows下远程连接Linux桌面

    http://nameyjj.blog.51cto.com/788669/582965 在windows下使用vnc viewer远程连接Linux桌面,主要配置步骤: Linux: 1.rpm -q ...

  9. 连接linux系统的mysql,Linux系统MySQL开启远程连接

    1.远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码). 2.创建用户用来远程连接 GRANT ALL PRIVILEGES ...

最新文章

  1. 作为算法工程师,在咨询公司工作的另类体验
  2. postGIS相关数据库参数
  3. 27.产品经理需要具备的数据分析能力
  4. 刚开始用 Go 做项目开发时都会面临哪些问题?
  5. 软工实践-第二次会议
  6. oracle实现主键自增长及自动生成策略
  7. Qt系列教程-yafeilinx Qt入门教程
  8. Oracle.start with … connect by [… and] prior…order siblings by …
  9. VC6.0和VC2012的全局对象的释放!!!
  10. 一步一步带你实现自定义圆形进度条(详解)
  11. matlab加性高斯白噪声方差
  12. Git HEAD指针
  13. 教你低成本获取用户:利用数据精细化运营(附手绘图)
  14. 文件夹删除了如何恢复?轻松恢复教学
  15. tl-wdr5620虚拟服务器设置,TP-Link TL-WDR5620路由器怎么设置
  16. 通过微信公众号访问个人项目
  17. 广联达计算机图形学面试题,计算机图形学 面试题.docx
  18. 如何將excel內容导出XML
  19. 搭建windows下的php开发环境
  20. Linux-squid-ACL

热门文章

  1. Hive之函数与自定义函数
  2. Xcode9模拟器隐藏边框
  3. docker私有仓库Harbor 使用文档
  4. 【codevs3324】新斯洛克
  5. 第5次作业+105032014040+薛龚
  6. git、github的基本使用
  7. 配置.net连接数据库的配置文件
  8. String转换成int型
  9. Html-Css标签lable中定义宽度需要其他的支持
  10. [转贴]JAVA:RESTLET开发实例(三)基于spring的REST服务