linux java 输出_Java远程连接linux的方法,执行命令并输出结果
需要先导入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的方法,执行命令并输出结果相关推荐
- java远程执行功能_Java远程连接Linux服务器并执行命令及上传文件功能
Java远程连接Linux服务器并执行命令及上传文件功能 发布于 2020-3-6| 复制链接 摘记: 最近再开发中遇到需要将文件上传到Linux服务器上,至此整理代码笔记.此种连接方法中有考虑到并 ...
- Linux之使用MobaXterm远程连接Linux前提条件
参考文章: Linux之使用NAT模式进行网络连接和用nmtui命令或修改文件方法固定IP地址 mobaxterm下载与使用mobaxterm远程登录Linux 六款Linux常用远程连接工具介绍,看 ...
- linux上mysql允许远程连接,linux下mysql允许远程连接
1. MySql安装教程 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html 默认情况下mysq的 roo ...
- java实现连接linux,JAVA实现远道SSH连接linux并执行命令
JAVA实现远程SSH连接linux并执行命令 package com.codeconch.ssh; import java.io.BufferedReader; import java.io.IOE ...
- linux xmanager端口,Xmanager远程连接Linux系统图形界面详解-Go语言中文社区
1.首先安装与下载图形界面GNOME yum groupinstall "Desktop" yum groupinstall "X Window System" ...
- 华为云服务器安装桌面linux,华为云云桌面远程连接linux云服务器
linux服务器系统版本ubuntu16.04 1. 安装xrdp sudo apt-get install xrdp 2.安装vnc4server sudo apt-get install vnc4 ...
- 远程连接Linux,如何使程序断开连接后继续运行
摘要:远程连接到Linux终端后,如果发生意外或者人为断开了远程连接,那么正在运行的程序或命令(例如备份数据库这种比较耗时的操作)就会中断.原因是因为断开连接后,终端会收到SIGHUP(hang-up ...
- windows下远程连接Linux桌面
http://nameyjj.blog.51cto.com/788669/582965 在windows下使用vnc viewer远程连接Linux桌面,主要配置步骤: Linux: 1.rpm -q ...
- 连接linux系统的mysql,Linux系统MySQL开启远程连接
1.远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码). 2.创建用户用来远程连接 GRANT ALL PRIVILEGES ...
最新文章
- 作为算法工程师,在咨询公司工作的另类体验
- postGIS相关数据库参数
- 27.产品经理需要具备的数据分析能力
- 刚开始用 Go 做项目开发时都会面临哪些问题?
- 软工实践-第二次会议
- oracle实现主键自增长及自动生成策略
- Qt系列教程-yafeilinx Qt入门教程
- Oracle.start with … connect by [… and] prior…order siblings by …
- VC6.0和VC2012的全局对象的释放!!!
- 一步一步带你实现自定义圆形进度条(详解)
- matlab加性高斯白噪声方差
- Git HEAD指针
- 教你低成本获取用户:利用数据精细化运营(附手绘图)
- 文件夹删除了如何恢复?轻松恢复教学
- tl-wdr5620虚拟服务器设置,TP-Link TL-WDR5620路由器怎么设置
- 通过微信公众号访问个人项目
- 广联达计算机图形学面试题,计算机图形学 面试题.docx
- 如何將excel內容导出XML
- 搭建windows下的php开发环境
- Linux-squid-ACL