获取ConnectException:无法连接到192.168.2.100(端口22)ECONNREFUSED与Android和JSCH

时间:2016-10-23 18:31:53

标签: java android ssh jsch

我收到java.net.ConnectException:无法连接到192.168.2.100(端口22):连接失败:在Android上通过SSH与JSCH-0.1.54连接到服务器时ECONNREFUSED(连接被拒绝)。

防火墙配置为允许IP地址通过。 通过Putty可以实现从Windows到服务器的SSH连接。 服务器的IP地址没问题。

它还能做什么?

我正在使用的代码如下:

protected Long doInBackground(String... params)
{
    try
    {
        System.setProperty("http.keepAlive", "false");
        JSch jsch = new JSch();
        Session session = jsch.getSession("root", "192.168.2.100", 22);
        session.setPassword("Password");
        session.setTimeout(10000);
        Properties props = new Properties();
        props.put("StrictHostKeyChecking", "no");
        session.setConfig(props);
        session.connect();
        ChannelExec channel = (ChannelExec) session.openChannel("exec");
        if(params[0]=="poweroff")
        {
            LogPublic("Server wird heruntergefahren");
        }
        else if(params[0]=="reboot")
        {
            LogPublic("Server wird neugestartet");
        }
        channel.setCommand(params[0]);
        channel.connect();
        channel.disconnect();
        session.disconnect();
        jsch.removeAllIdentity();
        jsch = null;
        return new Long(1);
    }
    catch (Exception ex)
    {
        LogPublic(ex.getMessage());
        return new Long(0);
    }
}

1 个答案:

答案 0 :(得分:0)

解决方案是将服务器的静态IP地址设置为路由器的DHCP范围,因为这会导致IP冲突。