Tôi đang cố gắng để làm một cái gì đó từ ví dụ này đơn giản:Simple SSH kết nối với JSch
SSH, execute remote commands with Android
Tôi chỉ muốn xem liệu tôi có thể kết nối từ điện thoại Android của tôi đến một máy chủ Linux sử dụng SSH nhưng nó doesn 't làm việc ...
Dưới đây là mã chính của tôi:
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());
}
}
}
tôi đã làm gì sai? Tôi không có thông báo lỗi và tôi không thấy bất kỳ kết nối SSH nào trên Linux của mình. Tôi đã thêm các thư viện jsch và jzlib. Tôi không có vấn đề gì để kết nối với một phiên putty.
EDIT1: Trên thực tế, tôi đã tìm thấy lỗi giải thích tại sao nó không hoạt động ngay cả khi tôi không biết cách giải quyết vấn đề. Lỗi này là:
android.os.NetworkOnMainThreadException
nên nó dường như có nghĩa là ứng dụng không thể thực hiện một hoạt động mạng về chủ đề chính của nó ...
Cảm ơn ! Tôi sẽ thử giải pháp của bạn. – Pozinux