Android 如何通过 SSH 信任 adb
How to trust adb through SSH in Android
我有一个安装了 magisk 的 root 像素 3 设备连接到 mac。我想在远程连接时通过 mac 在设备上工作。有时,我需要重新启动 android 设备 - 当我这样做时,它有时会停止信任它所连接的 mac 计算机。
我已经 read about 禁用 dm-verity
始终信任计算机,但我想避免使用这些类型的解决方案 - 它们不安全、复杂,并且有损坏设备的风险。
相反,我调试了 android 设备 - 我发现每当我信任它所连接的 mac 时,都会生成两个文件:
/data/misc/adb/adb_keys
/data/misc/adb/adb_temp_keys.xml
两者都包含mac设备的publicadb密钥,可以在
中找到
~/.android/adbkey.pub
我尝试做的是通过 SSH, and when I lose trust I can push the files from the mac to the android by using scp:
连接到 android
scp -P2222 ~/.android/adbkey.pub user@ip:/sdcard/test
ssh ...
su # using magisk
cp /sdcard/test/adbkey.pub /data/misc/adb/adb_keys
cp /data/misc/adb/adb_keys /data/misc/adb/adb_keys.xml # with some format changes
reboot
我希望能让 android 设备信任 mac 设备,但是当我 运行 adb-devices
时,它仍然是未经授权的。
我也尝试在 android 上重新启动 adbd
,希望它能重新查看文件以授权 mac,但这也没有用。
有谁知道我做错了什么,或者如何实现?
我在 mac 上授权了 phone 并勾选了持久性,将 /data/misc/adb 中的文件复制到一个 tmp 文件夹,然后当它未经授权时我可以通过 SSH 重新连接并将文件复制回来,然后在PC上重启adb服务器(adb kill-server,adb start-server)。
我有一个安装了 magisk 的 root 像素 3 设备连接到 mac。我想在远程连接时通过 mac 在设备上工作。有时,我需要重新启动 android 设备 - 当我这样做时,它有时会停止信任它所连接的 mac 计算机。
我已经 read about 禁用 dm-verity
始终信任计算机,但我想避免使用这些类型的解决方案 - 它们不安全、复杂,并且有损坏设备的风险。
相反,我调试了 android 设备 - 我发现每当我信任它所连接的 mac 时,都会生成两个文件:
/data/misc/adb/adb_keys
/data/misc/adb/adb_temp_keys.xml
两者都包含mac设备的publicadb密钥,可以在
中找到~/.android/adbkey.pub
我尝试做的是通过 SSH, and when I lose trust I can push the files from the mac to the android by using scp:
连接到 androidscp -P2222 ~/.android/adbkey.pub user@ip:/sdcard/test
ssh ...
su # using magisk
cp /sdcard/test/adbkey.pub /data/misc/adb/adb_keys
cp /data/misc/adb/adb_keys /data/misc/adb/adb_keys.xml # with some format changes
reboot
我希望能让 android 设备信任 mac 设备,但是当我 运行 adb-devices
时,它仍然是未经授权的。
我也尝试在 android 上重新启动 adbd
,希望它能重新查看文件以授权 mac,但这也没有用。
有谁知道我做错了什么,或者如何实现?
我在 mac 上授权了 phone 并勾选了持久性,将 /data/misc/adb 中的文件复制到一个 tmp 文件夹,然后当它未经授权时我可以通过 SSH 重新连接并将文件复制回来,然后在PC上重启adb服务器(adb kill-server,adb start-server)。