gpt4 book ai didi

android - 如何以编程方式启动 ssh 服务器 android,以及我将如何获取用于连接到设备的用户名和密码

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:29 25 4
gpt4 key购买 nike

我正在开发类似 sshdroid 的应用程序。

我想在 android 操作系统上打开 ssh 连接,我想从 pc 连接应用程序。

我用的是 JSCH lib ,但是这个 lib 是用来连接 android 和 pc 的。我的要求是 PC 到 Android,任何人都知道任何可用的库或任何源代码。

我已经试过了。

connectbot.(it is unmaintained lib).
JSCH lib (it is connect android to pc).
SSHelper_source (not help to me).
SSHJ ( tried not helpful).

最佳答案

public void startSSHServer() {
int port = 8888;
SshServer sshd = SshServer.setUpDefaultServer();
sshd.setPort(port);
sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(
"src/test/resources/hostkey.ser"));
sshd.setSubsystemFactories(Arrays
.<NamedFactory<Command>> asList(new SftpSubsystem.Factory()));
sshd.setCommandFactory(new ScpCommandFactory());
sshd.setShellFactory(new ProcessShellFactory(new String[] { "/system/bin/sh", "-i", "-l" })); // necessary if you want to type commands over ssh
sshd.setPasswordAuthenticator(new PasswordAuthenticator() {

@Override
public boolean authenticate(String u, String p, ServerSession s) {
return ("sftptest".equals(u) && "sftptest".equals(p));
}
});

try {
sshd.start();
} catch (IOException e) {
e.printStackTrace();
}

}

来自 amard 的回答开发商。 (感谢 amar 给出了正确的答案)

Check example on github

如果出现以下错误

错误:任务执行失败>

':app:transformResourcesWithMergeJavaResForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/DEPENDENCIES File1: /home/yogesh/.gradle/caches/modules-2/files-2.1/org.apache.mina/mina-core/2.0.2/‌​e365a84cc76a64bf1508af83da0ea852c35e79c8/mina-core-2.0.2.jar File2: /home/yogesh/.gradle/caches/modules-2/files-2.1/org.apache.sshd/sshd-core/0.6.0/‌​2b9a119dd77a1decec78b0c511ba400c8655e96e/sshd-core-0.6.0.jar

然后尝试在您的应用程序 build.gradle 中使用它来解决上述异常。

apply plugin: 'com.android.model.application'
model {
android {
...
}
android.packagingOptions {
exclude 'META-INF/DEPENDENCIES'
}
}

关于android - 如何以编程方式启动 ssh 服务器 android,以及我将如何获取用于连接到设备的用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38539188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com