Android使用openssh

时间:2024-03-11 15:10:42

概述

可以通过ssh命令来连上Android机器

Android中使用的是external/openssh下的源码,Android 9以下的是没有的,需要从Android 10中拷贝一份过去

1. Android源码中配置

1. 编译openssh库-在方案目录下添加ssh包

PRODUCT_PACKAGES += ssh sftp scp sshd ssh-keygen sshd_config start-ssh

2. 系统起来之后

1. 将根文件系统挂载为可读写
mount -o rw,remount /

2. 创建文件夹
adb root
adb shell mkdir /data/ssh
adb shell mkdir -p /var/run/ssh/empty
adb shell chmod 700 /var/run/ssh/empty

3. 将Ubuntu电脑中的root用户的id_rsa.pub文件的内容,拷贝到Android设备中的/data/ssh/authorized_keys文件

4. Android设备中启动sshd:start-ssh

5. 在Ubuntu电脑中,用ssh root@192.168.1.106命令连接Android设备

2. 通过termux应用

1. 安装termux应用

https://termux.com/

2. 安装ssh

1. 更新源
pkg upgrade

2. 安装openssh
pkg install openssh

3. 设置密码
passwd

4. 启动sshd
sshd

5. 查看ip地址
ifconfig

6. Ubuntu电脑上进行连接
ssh 192.168.11.37 -p 8022

补充

1. 在Android根目录下添加var目录

# 在Android根目录下添加var目录:
# 1. BoardConfig.mk上配置var
BOARD_ROOT_EXTRA_FOLDERS += var

# 2. 配置var目录的selinux,在file_contexts文件中添加
/var  u:object_r:tmpfs:s0

# 3. 配置目录的读写权限,system/core/libcutils/fs_config.cpp
{ 00775, AID_ROOT,         AID_ROOT,         0, "var" },

参考

1. 安卓开启ssh服务
https://blog.csdn.net/jxch____/article/details/109165515