SSH simples se conecta com o JSch
Eu estou tentando fazer algo com este exemplo simples:
SSH, execute comandos remotos com o Android
Eu só quero ver se eu posso ligar do meu telefone android para um servidor linux usando SSH, mas isso não funciona ...
Aqui está meu 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());
}
}
}
O que eu fiz errado ? Não tenho mensagens de erro e não vejo nenhuma conexão SSH no meu Linux. Eu adicionei as bibliotecas jsch e jzlib. Não tenho nenhum problema para me conectar com uma sessão putty.
EDIT1: Na verdade, eu encontrei um erro que explica por que ele não funciona mesmo se eu não sei como resolver o problema. O erro é:
android.os.NetworkOnMainThreadException
então parece que o aplicativo não pode executar uma operação de rede em seu segmento principal ...