### OpenSSH移植到Android系统的详细步骤 #### 一、获取OpenSSH源码 为了将OpenSSH移植到Android系统,首先需要获取适用于Android平台的OpenSSH源码。Android SDK默认并不包含OpenSSH源码,但可以通过以下步骤来获取: 1. **获取OpenSSH源码** - 在GitHub上克隆官方提供的Android平台上的OpenSSH源码仓库: ```bash git clone https://android.googlesource.com/platform/external/openssh ``` - 将获取的源码放置于本地Android源码树的`external`目录下。若`external`目录已存在名为`openssh`的文件夹,通常情况下这个文件夹是空的或包含其他扩展模块,此时应替换为新的源码。 #### 二、准备编译环境 接下来,需要准备好编译环境,并确保所需的依赖库已经编译完成。OpenSSH依赖于`zlib`和`openssl`库,因此首先需要编译这些依赖库。 1. **编译Zlib和OpenSSL** - 初始化Android编译环境: ```bash source build/envsetup.sh ``` - 分别编译`zlib`和`openssl`: ```bash mmm -j4 -B external/zlib mmm -j4 -B external/openssl ``` #### 三、编译OpenSSH 在编译好依赖库后,接下来需要编译OpenSSH模块。 1. **编译OpenSSH** - 使用同样的命令编译OpenSSH: ```bash mmm -j4 -B external/openssh ``` - 编译完成后,将在指定路径下生成一系列OpenSSH相关文件,包括但不限于: - `libz.so` 和 `gzip` (来自 zlib) - `libcrypto.so` 和 `libssl.so` (来自 openssl) - `libssh.so`, `ssh`, `sftp`, `scp`, `sshd`, `ssh-keygen`, `start-ssh` (来自 openssh) #### 四、部署OpenSSH组件 将编译好的OpenSSH组件推送到Android设备上相应的目录中。 1. **推送编译后的文件** - 使用`adb push`命令将生成的文件传输至设备: ```bash adb push out/target/product/rk3288/system/lib/libz.so /system/lib/ adb push out/target/product/rk3288/system/bin/gzip /system/bin/ adb push out/target/product/rk3288/system/lib/libcrypto.so /system/lib/ adb push out/target/product/rk3288/system/lib/libssl.so /system/lib/ adb push out/target/product/rk3288/system/bin/ssltest /system/bin/ adb push out/target/product/rk3288/system/bin/openssl /system/bin/ adb push out/target/product/rk3288/system/lib/libssh.so /system/lib/ adb push out/target/product/rk3288/system/bin/ssh /system/bin/ adb push out/target/product/rk3288/system/bin/sftp /system/bin/ adb push out/target/product/rk3288/system/bin/scp /system/bin/ adb push out/target/product/rk3288/system/bin/sshd /system/bin/ adb push out/target/product/rk3288/system/bin/ssh-keygen /system/bin/ adb push out/target/product/rk3288/system/bin/start-ssh /system/bin/ adb push out/target/product/rk3288/system/etc/ssh/sshd_config /system/etc/ssh/ ``` #### 五、配置sshd_config 最后一步是修改`sshd_config`文件,以适应Android环境的需求,确保能够通过密钥认证方式登录。 1. **修改sshd_config** - 将`sshd_config`文件中的部分配置项进行调整: - 取消`Port 22`行的注释 - 将`PermitRootLogin yes`更改为`PermitRootLogin without-password` - 将`RSAAuthentication yes`的注释取消 - 将`PubkeyAuthentication yes`的注释取消 - 将`PasswordAuthentication no`更改为`#PasswordAuthentication no` - 将`PermitEmptyPasswords no`更改为`PermitEmptyPasswords yes` - 将`ChallengeResponseAuthentication yes`的注释取消 - 将`UsePrivilegeSeparation sandbox`更改为`UsePrivilegeSeparation yes` 2. **重启SSHD服务** - 完成配置后,需要重启SSHD服务才能使更改生效: ```bash adb shell "/system/bin/start-ssh" ``` 通过上述步骤,OpenSSH可以在Android设备上运行,并支持密钥认证登录,从而实现了对Android系统的远程访问功能。





























- ydf85252018-04-26先下载看下,赞下
- 「已注销」2018-07-03可以参考一下
- k文2021-11-17辣鸡。没用的东西留有何用?

- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 地下工程实习报告.doc
- 房产)办公区域服务作业指引(001).doc
- 重新定义微信小程序的开发.zip
- 印章销毁会签单.doc
- 北京某医院手术室装修工程招标代理合同.doc
- 地下连续墙施工质量验收规范-.doc
- 微信小程序 C# SDK,Senparc.Weixin.WxOpen.dll.zip
- 综合楼测量方案.doc
- 个体工商户雇工劳动合同书.docx
- 奶茶点单微信小程序.zip
- 物业接管验收要求及规程WINWGZAL.GC364.doc
- [北京]地标性超高层塔楼底板钢筋施工方案ser.doc
- 微信小程序 之『Ble蓝牙』.zip
- 微信小程序示例教程.zip
- 安装造价员考试用基础知识汇编.doc
- 地铁自动售检票系统施工组织设计.doc


