无法使用 JSch 连接到服务器端口 23

Posted

技术标签:

【中文标题】无法使用 JSch 连接到服务器端口 23【英文标题】:Cannot connect to server port 23 with JSch 【发布时间】:2020-02-27 11:59:10 【问题描述】:

我的 JDK 是 1.7。

import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;

public class SSHClientTest 
    public static void main(String[] args)

        try 
            String host = "192.168.1.233";

            int port = 23;
            String username = "root";
            String password = "htnice";
            // create JSch
            JSch jSch = new JSch();
            // get session
            Session session = jSch.getSession(username, host, port);
            session.setPassword(password);
            Properties prop = new Properties();
            prop.put("StrictHostKeyChecking", "no");
            session.setConfig(prop);
            // start connect
            session.connect();

            session.disconnect();
         catch (JSchException e) 
            // TODO Auto-generated catch block
            e.printStackTrace();
        
    

我收到以下异常:

Exception in thread "main" java.lang.NullPointerException

    at com.jcraft.jsch.Session.start_discard(Session.java:1066)
    at com.jcraft.jsch.Session.read(Session.java:937)
    at com.jcraft.jsch.Session.connect(Session.java:309)
    at com.jcraft.jsch.Session.connect(Session.java:183)
    at SSHClientTest.main(SSHClientTest.java:26)

jsch-0.1.54 和 jsch-0.1.55 出现同样的错误。

我可以通过 TTerm 连接到服务器。端口是 23。

【问题讨论】:

【参考方案1】:

JSch 是 SSH 客户端(端口 22)。

您不能使用它连接到 Telnet 服务器(端口 23)。

【讨论】:

以上是关于无法使用 JSch 连接到服务器端口 23的主要内容,如果未能解决你的问题,请参考以下文章

通过 JSch 建立 SSH 隧道

基于 JSch 实现服务的自定义监控解决方案

使用 JSch 从 Java 连接到 SSH 服务器时出现“JSchException:拒绝 HostKey”

JSch

Jsch使用SSH协议连接到远程Shell执行脚本

JSch - Java实现的SFTP(文件上传详解篇)