Android上的Dropbear ssh错误
我是一名android开发人员,我们正在尝试在android设备和Linux主机之间建立ssh隧道。我正在使用dropbear来解决这个问题 以下是我的步骤: 1) 我正在通过0端口的dbclient连接到主机Android上的Dropbear ssh错误,android,ssh,init,dropbear,dbclient,Android,Ssh,Init,Dropbear,Dbclient,我是一名android开发人员,我们正在尝试在android设备和Linux主机之间建立ssh隧道。我正在使用dropbear来解决这个问题 以下是我的步骤: 1) 我正在通过0端口的dbclient连接到主机 dbclient -i "$RSA_KEY" -f -N -R 0:localhost:22 "$HOST" -y &> /sdcard/out 2) 那我就跑丢熊了 dropbear -E -R 3) 现在,我可以使用公钥和端口in/sdcard/out通过ssh从主
dbclient -i "$RSA_KEY" -f -N -R 0:localhost:22 "$HOST" -y &> /sdcard/out
2) 那我就跑丢熊了
dropbear -E -R
3) 现在,我可以使用公钥和端口in/sdcard/out通过ssh从主机连接到设备
ssh -i ssh_rsa_key root@localhost -p 50216
这就是它,它工作得很好。
对于我的解决方案,我需要使隧道自动
service myScript /system/bin/myScript
class core
user root
group root
disabled
我已经在/system/bin/(使用脚本构建android映像)下创建了bash脚本。在init.rc中添加了相应的服务以自动运行我的脚本
service myScript /system/bin/myScript
class core
user root
group root
disabled
该脚本实际上每5秒由系统运行一次。但当我尝试连接到设备时,我收到以下错误消息:
Aiee, segfault! You should probably report this as a bug to the developer
最奇怪的是,当我手动运行脚本时,它工作正常,但当系统运行相同的脚本时,我会收到上面描述的错误消息
“dmesg”、“logcat”甚至“ssh…-vvv”都不会给出任何错误消息
我认为问题出在“dropbear”本身,因为当系统运行“dbclient”然后我手动运行“dropbear-E-R”时,隧道可以正常工作
这是我的“ssh…-v”输出
问题出在dropbear使用的环境变量“LD_LIBRARY_PATH”中。当我打印它的时候
$ echo $LD_LIBRARY_PATH
/vendor/lib:/system/lib
但是当init.rc试图读取它时,它是空的。我刚刚在dropbear源代码中记录了这一行,现在它可以正常工作了