首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java的SSH连接

使用Java的SSH连接
EN

Stack Overflow用户
提问于 2010-06-19 01:17:18
回答 8查看 97.7K关注 0票数 37

如何在Java中连接到SSH服务器?我不需要/想要一个贝壳。我只想连接到SSH服务器并获取file.txt的内容。我该怎么做呢?

EN

回答 8

Stack Overflow用户

发布于 2012-01-26 21:51:24

使用JSch

代码语言:javascript
复制
import com.jcraft.jsch.*;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * @author World
 */
public class SSHReadFile {

    public static void main(String args[]) {
        String user = "john";
        String password = "mypassword";
        String host = "192.168.100.23";
        int port = 22;
        String remoteFile = "/home/john/test.txt";

        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession(user, host, port);
            session.setPassword(password);
            session.setConfig("StrictHostKeyChecking", "no");
            System.out.println("Establishing Connection...");
            session.connect();
            System.out.println("Connection established.");
            System.out.println("Crating SFTP Channel.");
            ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
            sftpChannel.connect();
            System.out.println("SFTP Channel created.");

            InputStream inputStream = sftpChannel.get(remoteFile);

            try (Scanner scanner = new Scanner(new InputStreamReader(inputStream))) {
                while (scanner.hasNextLine()) {
                    String line = scanner.nextLine();
                    System.out.println(line);
                }
            }
        } catch (JSchException | SftpException e) {
            e.printStackTrace();
        }
    }
}

输出:

代码语言:javascript
复制
Establishing Connection...
Connection established.
Crating SFTP Channel.
SFTP Channel created.
This is content from file /home/john/test.txt
票数 48
EN

Stack Overflow用户

发布于 2010-06-19 01:21:43

Java本身并不支持这个功能,但是您可以使用像JSch这样的库来实现这个功能

票数 5
EN

Stack Overflow用户

发布于 2010-06-19 01:21:47

看看Jaramiko吧。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3071760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档