读取远端服务器

import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

import java.io.BufferedReader;
import java.io.InputStreamReader;

class SSHFileList {

    public static void main(String[] args) {
        String host = "192.168.10.100";
        int port = 22;
        String user = "dkbs";
        String password = "123456";
        String command = "ls /tools";  // 要执行的命令

        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession(user, host, port);
            session.setPassword(password);

            // 跳过主机密钥检查(生产环境应慎重)
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect();

            ChannelExec channelExec = (ChannelExec) session.openChannel("exec");
            channelExec.setCommand(command);

            BufferedReader in = new BufferedReader(new InputStreamReader(channelExec.getInputStream()));
            channelExec.connect();

            String msg;
            System.out.println("你好");
            while ((msg = in.readLine()) != null) {
                System.out.println("File: " + msg);  // 输出文件名
            }
            System.out.println("这里执行完了" );
            channelExec.disconnect();
            session.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

JSch 简介

  • JSch 是由 JCraft 开发的一个 Java 实现的 SSH2 客户端库。它提供了通过 SSH 协议执行各种操作的能力,如执行远程命令、文件传输(通过 SFTP 和 SCP 协议)、端口转发等。
  • 用途
    • SSH连接:安全地连接到远程服务器。
    • SFTP:安全地上传、下载文件。
    • 端口转发:使用 SSH 隧道转发端口。
    • 执行命令:在远程服务器上执行命令。

JSch 的常见使用场景

  1. 远程执行命令:通过 SSH 在远程服务器上执行 shell 命令。
  2. 文件传输:通过 SFTP 协议在本地和远程服务器之间上传或下载文件。
  3. 端口转发:通过 SSH 隧道转发本地或远程端口。

Maven 依赖

如果你在使用 Maven,可以通过以下方式添加 JSch 库作为依赖:

 

xml

<dependency> <groupId>com.jcraft</groupId>

<artifactId>jsch</artifactId>

<version>0.1.55</version>

<!-- 使用最新版本 --> </dependency>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值