Conexión SSH simple con JSch
Estoy tratando de hacer algo con este simple ejemplo:
SSH, ejecuta comandos remotos con Android
Solo quiero ver si puedo conectarme desde mi teléfono Android a un servidor Linux usando SSH pero no funciona ...
Aquí está mi código principal:
package com.example.ssh;
import java.util.Properties;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try
{
JSch jsch = new JSch();
Session session = jsch.getSession("root","192.168.0.26", 22);
session.setPassword("xxxxx");
// Avoid asking for key confirmation
Properties prop = new Properties();
prop.put("StrictHostKeyChecking", "no");
session.setConfig(prop);
session.connect();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
Qué hice mal ? No tengo mensajes de error y no veo ninguna conexión SSH en mi Linux. Agregué las bibliotecas jsch y jzlib. No tengo ningún problema para conectarme con una sesión de masilla.
EDIT1: De hecho, encontré un error que explica por qué no funciona, incluso si no sé cómo resolver el problema. El error es:
android.os.NetworkOnMainThreadException
por lo que parece significar que la aplicación no puede realizar una operación de red en su hilo principal ...