识字粗堪供赋役,不须辛苦慕公卿。这篇文章主要讲述Jsch使用SSH协议连接到远程Shell执行脚本相关的知识,希望能为你提供帮助。
如果大家熟悉Linux的话,一定对ssh,sftp,scp等命令非常熟悉,ssh是一个安全协议,用来在不同系统或者服务器之间进行安全连接,SSH 在连接和传送的过程中会加密所有的数据。
但是SSH一般是基于客户端的或者Linux命令行的,比如客户端的工具:OpenSSH,putty,SSH Tectia;
在linux上大家可以通过ssh username@host连接到所要想连接的主机。
但是如果在J2EE中,如何实现SSH呢?进而可以实现SCP,SFTP的功能呢?下面介绍的JSCH就可以实现下边的功能。
JSCH是一个纯粹的用java实现SSH功能的java
library;
JSCH API:??http://epaul.github.io/jsch-documentation/javadoc/??
Example: ??http://www.jcraft.com/jsch/examples/??
maven依赖
关键类介绍
This class serves as a central configuration point, and as a factory for Session objects configured with these settings.
A Session represents a connection to a SSH server.One session can contain multiple Channels of various types
A session is opened with connect() and closed with disconnect().
The abstract base class for the different types of channel which may be associated with a Session.
使用步骤使用Jsch进行SSH连接的具体步骤如下:
创建Session,并打开Session连接步骤1~步骤4:程序如下
使用SSH协议,连接到Linux,执行指定命令,并获取结果步骤5~步骤6:程序如下
执行Shell命令,并获取执行结果
测试程序
完整程序JSCHUtil.java
SSHCommUtil.java
【Jsch使用SSH协议连接到远程Shell执行脚本】
推荐阅读
- Shell使用sed命令替换文件中的某一行
- 《LinuxProbe》—RHCE 学习 补充资料——磁盘分区及磁盘原理
- Linux学习第二周
- 数据可视的优势(为什么要让数据可视化())
- Django+nginx+gunicorn搭建服务器后台
- xargs使用查询包含某字符串的所有文件
- 如何做好IT项目的运维管理()
- 磁盘和文件系统管理实验
- SVN自动备份SVN仓库