Android 有意使用ConnectBot
有没有办法通过intents访问ConnectBot功能?我想从我的应用程序启动ssh会话,并通过私钥/公钥进行身份验证,然后关闭会话。ConnectBot是否可以实现这一点?如果可以,我如何调用意图?遗憾的是,我没有找到有关此主题的任何文档:(这个问题的答案取决于您想使用ssh会话做什么:它是程序性的,还是您想向用户显示一个终端会话或控制台,用户可以在其中键入任意命令?第二个选项在很大程度上是很容易支持的,从研究中可以看出-应用程序有一个意图文件ter注册了与此模式匹配的Android 有意使用ConnectBot,android,ssh,android-intent,Android,Ssh,Android Intent,有没有办法通过intents访问ConnectBot功能?我想从我的应用程序启动ssh会话,并通过私钥/公钥进行身份验证,然后关闭会话。ConnectBot是否可以实现这一点?如果可以,我如何调用意图?遗憾的是,我没有找到有关此主题的任何文档:(这个问题的答案取决于您想使用ssh会话做什么:它是程序性的,还是您想向用户显示一个终端会话或控制台,用户可以在其中键入任意命令?第二个选项在很大程度上是很容易支持的,从研究中可以看出-应用程序有一个意图文件ter注册了与此模式匹配的ConsoleActi
ConsoleActivity
:
- 操作:
android.intent.action.VIEW
- uri:
ssh://user@主机:端口/#昵称
org.openintents.ssh.BIND\u ssh\u AGENT\u服务
此修补版本的ConnectBot允许ConnectBot充当ssh代理-您的应用程序负责管理ssh连接,但您可以呼叫ConnectBot以获取必要的凭据-ConnectBot将让您知道其可用于连接的公钥,并签署数字证书身份验证所需。但基本上您使用的是绑定到ConnectBot的意图,即获得一个提供ssh代理功能的AIDL接口:
org.openintents.ssh.BIND\u ssh\u AGENT\u服务
作为安全预防措施,您的应用程序需要声明它使用此权限,否则将无法绑定到服务:
org.openintents.ssh.permission.ACCESS\u ssh\u AGENT
ConnectBot的补丁版本可从Android Market下载,网址为:
修补程序的源代码如下:
尽管这样做可以管理公钥/私钥,但实际上仍然需要在应用程序中实现ssh连接。我建议您使用库来支持ssh协议,请参见他们的简单“命令”连接示例:
Bouncy Castle crypto LIB通常在Java中用于提供加密算法,但是随Android提供的版本有缺陷,不容易覆盖-因此,您应该使用Spongy Castle LIB对BC LIB进行Android友好的重新打包:
看起来“协议详细信息”链接现在已断开。