因为项目要求,需要远程执行命令,maven配置和代码如下
<dependency>
<groupId>ch.ethz.ganymed</groupId>
<artifactId>ganymed-ssh2</artifactId>
<version>build209</version>
</dependency>
public class InvokeShellTest {
public static void main(String[] args) {
String hostname = "10.103.16.16";
String username = "sa";
String password = "123456";
//指明连接主机的IP地址
Connection conn = new Connection(hostname,9880);
Session ssh = null;
try {
//连接到主机
conn.connect();
//使用用户名和密码校验
boolean isconn = conn.authenticateWithPassword(username, password);
if(!isconn){
System.out.println("用户名称或者是密码不正确");
}else{
System.out.println("已经连接OK");
ssh = conn.openSession();
//使用多个命令用分号隔开
// ssh.execCommand("ps -ef|grep java");
ssh.execCommand("sh /opt/ali-rocketmq/devenv/bin/mqadmin consumerProgress -n \"10.103.16.77:9876;10.103.16.15:9876\"");
//只允许使用一行命令,即ssh对象只能使用一次execCommand这个方法,多次使用则会出现异常
//将屏幕上的文字全部打印出来
InputStream is = new StreamGobbler(ssh.getStdout());
BufferedReader brs = new BufferedReader(new InputStreamReader(is));
while(true){
String line = brs.readLine();
if(line==null){
break;
}
System.out.println(line);
}
}
//连接的Session和Connection对象都需要关闭
ssh.close();
conn.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
报错
ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
在mqadmin脚本中加入 export JAVA_HOME=/usr/local/java 解决,正常输出结果
分享到:
相关推荐
"ssh远程控制"这个主题涉及到许多核心概念和技术,下面将进行详细阐述。 1. **SSH协议基础**: SSH通过加密所有传输数据来保护用户隐私,防止中间人攻击。它支持公钥/私钥对认证和密码认证,确保只有授权用户可以...
标题中的“net-ssh远程访问linux ruby”指的是Ruby编程语言中使用Net::SSH库来实现对Linux系统的远程访问。Net::SSH是Ruby的一个开源库,它提供了SSH2协议的实现,允许开发者通过SSH协议安全地执行命令、传输文件等...
本篇文章将详细介绍如何使用PHP实现SSH远程连接服务器并执行操作。 首先,PHP本身并不直接支持SSH连接,但我们可以通过第三方库如`phpseclib`来实现这个功能。`phpseclib`是一个纯PHP实现的SSH2和SFTP客户端,它...
SSH远程登录工具的工作原理是通过公共密钥加密技术,使得客户端和服务器之间可以建立安全的通信通道。在这个过程中,用户通常需要在客户端生成一对密钥,即公钥和私钥。公钥会被上传到远程服务器的特定文件(通常是~...
Java SSH 执行命令主要涉及到Java编程语言与SSH(Secure Shell)协议的交互,通常用于远程服务器的管理和自动化任务执行。SSH是一种网络协议,允许用户安全地在不安全的网络上进行远程登录和其他网络服务。在Java中...
在IT领域,尤其是对于运维工程师、系统管理员和开发人员来说,实现SSH远程多机免密码登录是一项极其重要的技能。这种能力不仅可以提高工作效率,减少重复的手动输入密码动作,还能增强自动化部署、监控和管理的可行...
【SSH远程访问技术详解】 SSH(Secure SHell)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和文件传输。它在Linux操作系统中广泛应用于系统管理和维护,是替代传统明文传输协议(如Telnet、RSH)的...
在Java编程中,执行SSH(Secure Shell)命令是一项常见的任务,尤其在远程服务器管理、自动化运维和分布式系统中。SSH是一种网络协议,用于安全地在远程主机上执行命令和传输数据。下面我们将深入探讨如何在Java中...
标题"SharpSSH执行SSH命令例子"表明我们将讨论如何使用SharpSSH库在C#中执行远程Linux服务器的SSH命令。SSH命令行工具是Linux管理员最常用的工具之一,它允许用户在安全的加密连接下执行各种系统管理任务。通过...
本项目“java开发的swing客户端,远程执行linux命令”显然旨在利用Swing构建一个桌面应用,该应用的核心功能是远程控制Linux服务器,执行命令。这涉及到Java中的网络编程和Linux系统的交互。具体来说,开发者可能使用...
这个库使得C#程序员能够执行远程服务器上的SSH命令,进行文件传输,以及其他与SSH相关的操作。本文将深入探讨如何使用SharpSSH来执行SSH命令,以及其背后的原理和技术细节。 首先,了解SSH是至关重要的。SSH是一种...
2. **自动化脚本**:在自动化任务中,如Ansible、Puppet或Chef等IT自动化工具,SSH可以用于远程执行命令或脚本,实现服务器的配置和管理。 3. **CI/CD系统**:在Jenkins、Travis CI或GitLab CI等CI/CD工具中,SSH...
`expect`是TCL的一个扩展,它允许我们编写脚本来自动交互式地控制程序,特别适用于需要通过SSH登录远程服务器并执行命令的情况。 标题"Linux ssh登录远程服务器 expect"直指一个关键的自动化场景:利用`expect`来...
在Java开发中,SSH通常指的是使用Java实现的SSH连接库,如JSch,它允许程序员通过Java代码来实现SSH连接到远程服务器,进行文件传输、命令执行等操作。 本工程名为"SSH连接远程服务器的一个简单的工程",它提供了...
Trilead SSH2库提供了对ssh连接的支持,包括连接远程服务器、执行命令、上传和下载文件等操作。通过使用Trilead SSH2库,可以实现远程服务器文件的操作。 3. 实现远程服务器文件的上传、下载、复制、移动、删除等...
3. **Linux下的远程执行**:在Linux环境中,可以使用`ssh`命令来远程执行命令或脚本。此外,`sudo`命令可以用于提升权限执行程序,而`systemd`服务可以用于后台执行程序。 4. **安全性考虑**:跨进程执行可能会带来...
2. **会话管理**:打开SSH会话,执行远程命令并获取输出。 3. **SFTP服务**:通过SFTP协议安全地上传、下载和管理远程文件。 4. **SCP服务**:使用SCP协议进行文件传输,类似于FTP,但更安全。 5. **端口转发**:...
SSH(Secure Shell)是一种网络协议,用于安全地远程控制服务器,执行命令或传输数据。PUTTY是一个流行的开源SSH客户端,常用于连接到Linux或Unix系统。在这个场景中,我们将讨论如何使用C#和ASP.NET结合PUTTY来实现...
3. **挂载操作**:调用相应的API或命令行工具,指定远程路径和本地挂载点,执行挂载操作。挂载成功后,本地系统就会出现一个新的挂载点,可以像操作本地目录一样操作远程文件。 4. **文件操作**:读写远程文件,如...
本文将深入探讨"dos-shell.zip_cmd执行命令"、"dos shell编程"、"远程DOS"以及"远程执行cmd"的相关知识点,并提供关于如何编写和运用这些技术的详细解释。 首先,让我们从CMD(命令提示符)开始,它是Windows操作...