首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
java ssh远程调用
2024-10-31
Java实践 — SSH远程执行Shell脚本
1. SSH简介 SSH是Secure Shell的缩写,一种建立在应用层和传输层基础上的安全协议.SSH在连接和传送过程中会加密所有数据,可以用来在不同系统或者服务器之间进行安全连接.SSH提供两种的安全验证方式:基于密码的认证和基于密匙的认证.其中,基于密码的认证比较简单,只要知道远程主机的用户名和密码,就可以进行登录.基于密匙的认证比较麻烦,而且连接比较耗时,这里不详细介绍. 有很多基于SSH协议的客户端,例如:PuTTY.OpenSSH.Xshell 4等
java ssh远程服务器并执行多条shell命令
java ssh远程服务器并执行多条命令 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.Calendar; import org.apache.commons.lang3.Stri
ssh远程调用之shell脚本远程调用应用程序
1.引子 前几天有一个需求是这样的:本机的shell脚本,通过远程调用另一台机子上的shell脚本,来完成对远程机子上分发的Java程序的执行和其他操作.看上去挺容易,实际上也不难. 第一步:用scp从本机向目的机子分发Java程序: 第二步:编写shell脚本,用ssh完成调用. 然而,问题来了. 2.分析 先声明:第一,Local和Remote两个机子上的JDK安装路径.环境变量(都配置在.bash_profile中).使用的版本统统一样:第二,Java程序在Remote机上用shell脚本
Java SSH远程执行Shell脚本实现(转)
前言 此程序需要ganymed-ssh2-build210.jar包(下载地址:http://www.ganymed.ethz.ch/ssh2/) 为了调试方便,可以将\ganymed-ssh2-build210\src下的代码直接拷贝到工程里, 此源码的好处就是没有依赖很多其他的包,拷贝过来干干净净. 简介 目的:是执行远程机器上的Shell脚本;远程机器IP:***.**.**.***用户名:sshapp密码:sshapp登录后用pwd命令,显示当前目录为:/sshapp.在/sshapp/
Java 常用远程调用协议比较
一.综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能.RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础.但它只能用于JAVA程序之间的通讯.Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口.协议的规范公开,可以用于任意语言.Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间
Spring HttpIvoker实现Java的远程调用
Spring HttpInvoker一种JAVA远程方法调用框架实现,使用的是HTTP协议,允许穿透防火墙,使用JAVA系列化方式,但仅限于Spring应用之间使用,即调用者与被调用者都必须是使用Spring框架的应用.基本原理如下: 在server端,springAOC管理着controller(bean),并暴露出远程调用的接口.在Client端,借助spring产生一个代理对象,通过代理对象实现与服务端的交互. 服务器端配置 1. 加入jar包 2. 在.xml中配置spring远程调用的
java RMI 远程调用
1.背景 在学习代理模式的过程中接触到了远程调用,jdk有自己的RMI实现,所以这边自己实现了RMI远程调用,并记录下心得. 感受最深的是RMI和现在的微服务有点相似,都是通过"注册中心"来获取数据,比如spring cloud 中通过feign来获取数据,这个就可以看作一个代理模式,我们通过feigh获取数据其实是通过别的服务器上的代码来获取数据的,而RMI中是通过rmiRegistry注册中心来注册,并且通过 Naming.lookup("rmi://127.0.0.1/
Java实践-远程调用Shell脚本并获取输出信息
1.添加依赖 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</artifactId> <version>262</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId&g
Shell 脚本 —— java 代码远程调用shell脚本重启 tomcat
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.创建maven 工程 maven 依赖: <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.1</version> </dependency> <!-- https://mv
Java SSH远程执行Shell命令、shell脚本实现(Ganymed SSH)
jar包下载地址: http://www.ganymed.ethz.ch/ssh2/ 此源码的好处就是没有依赖很多其他的包,拷贝过来干干净净.具体代码实现可以看下文,或参考官方文档,在下载的压缩包里ganymed-ssh2-build210\examples目录下有示例. package com.system.action; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream;
linux:ssh远程调用tomcat脚本时候出错
我们都知道,使用ssh在另一台机子执行一个ssh文件的语句是酱紫的 ssh root@1.9.7.56 "chmod 777 /opt/script/tomcatStop.sh ; sh /opt/script/tomcatStop.sh" 好的,然后就出问题咯....找不到环境变量 于是乎找原因,发现是被控制的tomcat没有配置到环境变量. 那么的话,就给tomcat配置上环境变量好了 进入tomcat的bin目录下 vi setclasspath.sh 然后把环境变量配置过去即可
[转载] 基于Dubbo的Hessian协议实现远程调用
转载自http://shiyanjun.cn/archives/349.html Dubbo基于Hessian实现了自己Hessian协议,可以直接通过配置的Dubbo内置的其他协议,在服务消费方进行远程调用,也就是说,服务调用方需要使用Java语言来基于Dubbo调用提供方服务,限制了服务调用方.同时,使用Dubbo的Hessian协议实现提供方服务,而调用方可以使用标准的Hessian接口来调用,原生的Hessian协议已经支持多语言客户端调用,支持语言如下所示: Java:http://h
基于Dubbo的Hessian协议实现远程调用
Dubbo基于Hessian实现了自己Hessian协议,可以直接通过配置的Dubbo内置的其他协议,在服务消费方进行远程调用,也就是说,服务调用方需要使用Java语言来基于Dubbo调用提供方服务,限制了服务调用方.同时,使用Dubbo的Hessian协议实现提供方服务,而调用方可以使用标准的Hessian接口来调用,原生的Hessian协议已经支持多语言客户端调用,支持语言如下所示: Java:http://hessian.caucho.com/#Java Flash/Flex:http:/
【Java EE 学习 78 中】【数据采集系统第十天】【Spring远程调用】
一.远程调用概述 1.远程调用的定义 在一个程序中就像调用本地中的方法一样调用另外一个远程程序中的方法,但是整个过程对本地完全透明,这就是远程调用.spring已经能够非常成熟的完成该项功能了. 2.spring远程调用的原理 客户端调用本地接口中的一个方法调用的时候将会被客户端代理拦截,并向远程服务器发起一个servlet请求(服务器中的web.xml文件中专门配置了该Servlet),服务器接受请求,并根据spring配置文件和请求的url找到对应的“导出器”,导出器将pojo转换成控制器c
Java RMI 远程方法调用
Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方法调用的任何对象必须实现该远程接口. Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术. 大名鼎鼎的EJB都是建立在rmi基础之上的,现在还有一些开源的远程调用组件,其底层技术也是rmi. 在大力鼓吹Web Service.SOA的时代,是不是每个应
Java RMI远程方法调用
RMI(远程接口调用) 1. RMI的原理: RMI系统结构,在客户端和服务器端都有几层结构. 方法调用从客户对象经占位程序(Stub).远程引用层(Remote Reference Layer)和传输层(Transport Layer)向下,传递给主机,然后再次经传 输层,向上穿过远程调用层和骨干网(Skeleton),到达服务器对象. 占位程序扮演着远程服务器对象的代理的角色,使该对象可被客户激活. 远程引用层处理语义.管理单一或多重对象的通信,决定调用是应发往一个服务器还是多个.传输层管理
Java[2] 分布式服务架构之java远程调用技术浅析(转http://www.uml.org.cn/zjjs/201208011.asp)
转自:http://www.uml.org.cn/zjjs/201208011.asp 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛
Java远程调用邮件服务器,实现邮件发送
写这篇文章的背景是公司Android客户端需要实现一个功能,实现类似于密码找回或者用户注册完发送一个邮件给用户的功能,当然这些逻辑客户端只负责请求自己的服务端,自己的服务端再去请求邮件服务器. 邮件服务器使用的Apache的James,Java写的开源的,而且方便调用.远程调用使用的是Java Mail的API. 首先我们需要把James这个邮件服务器跑起来,官网下载地址:http://james.apache.org/,下载先来之后直接解压,直接运行bin\run.bat.出现如下图所示说明运
java 远程调用 RPC
1. 概念 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议.它允许像调用本地服务一样调用远程服务.它可以有不同的实现方式.如RMI(远程方法调用).Hessian.Http invoker等.RPC是与语言无关的.直观说法就是A通过网络调用B的过程方法.也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据. 1.首先要解决寻址的
使用Socket&反射&Java流操作进行方法的远程调用(模拟RPC远程调用)
写在前面 阅读本文首先得具备基本的Socket.反射.Java流操作的基本API使用知识:否则本文你可能看不懂... 服务端的端口监听 进行远程调用,那就必须得有客户端和服务端.服务端负责提供服务,客户端来对服务端进行方法调用.所以现在我们清楚了: 需要一个服务端.一个客户端 那么我们说干就干,我们先建立一个服务端: 通过Socket监听本地服务器的一个端口(8081) 调用socket的accept方法等待客户端的连接(accpet方法原理) /** * RPC服务端 * @author wu
Java远程调用
一. 概念: RMI全称是Remote Method Invocation-远程方法调用,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一.它支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象的无缝远程调用. 二.原理: 方法调用从客户端对象经占位程序(Stub),远程引用层,和传输层向下传递给主机,然后再次经传输层,向上穿过远程调用层和骨干层,到达服务器对象. 占位程序扮演者远程服务器对象的代理角色,使该对象可被客户激活.远程
热门专题
SQL注入注释符被过滤
entity 写什么
creator android sdk下载
feistel密码图
开源cdn cache
pannel区域重绘
nginx配置网站维护
paramiko transport 和channel
arduino 串口接手数组
sqlyog导入时显示找不到64位
购物车 结算 mysql
acwing 153双栈排序
EF链接Access Database 用
Burp Intruder 攻击
hierarchical clustering图怎么分析
anjular的select如何不展示选项
nodejs imap 代理
阿里云跨域问题没生效
activiti5.22驳回指定节点
archery 要在python虚拟环境安装吗