我收到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);
}
}
答案 0 :(得分:0)
解决方案是将服务器的静态IP地址设置为路由器的DHCP范围,因为这会导致IP冲突。