这篇文章上次修改于 891 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
前言
由于某些网络环境限制,PC端无法访问手机,但手机可以访问PC
这个时候又不想用usb连接,那么就可以利用ssh来反向代理和端口转发
这样PC就能访问到手机然后愉快的使用无线adb了
步骤
手机上可以用termux、Magisk插件,或者eadb环境
eadb环境准备请参考
我这里选择termux
电脑配置ssh
反向代理需要PC端开启ssh服务
可以通过下面的命令启动ssh服务,注意需要以管理员权限运行
net start sshd
如果你的电脑没有ssh,请参考
PC的ssh配置文件路径是C:\ProgramData\ssh\sshd_config
毕竟ssh服务有风险,所以改下配置,禁止密码登录
修改如下,这样就只能通过密钥登录了
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
# Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
- 务必设置
PasswordAuthentication no
以禁止通过密码登录 - 注意
Match Group administrator
和下一行需要注释掉
cmd重启ssh
net stop sshd
net start sshd
如果是powershell则使用下面的命令
Restart-Service sshd
补充,如果换了端口后连不上,再试试取消ListenAddress 0.0.0.0
的注释,如果还是不行,那可能是防火墙的限制
这里设置为公钥登录了,不换端口也还好
手机配置ssh
这里用termux来操作,先下载apk进行安装
打开termux安装ssh
pkg install openssh
用ssh-keygen
生成密钥
公钥在/data/data/com.termux/files/home/.ssh/id_rsa.pub
把文件内容复制到PC端的%USERPROFILE%\.ssh\authorized_keys
文件中,如果没有请手动创建
如果多个公钥,那么authorized_keys
每行一个
添加之后重启下PC端的ssh服务
先打开无线adb功能
现在通过下面的命令实现反向代理和端口转发
ssh -NfR 15555:127.0.0.1:5555 [email protected]
15555
是电脑本地端口127.0.0.1
是指手机的host,也可以换成localhost5555
是手机上无线adb的监听端口username
是电脑的用户名192.168.1.140
是电脑的ip地址
正常情况下,现在可以通过下面的命令通过电脑连接到手机的无线adb了
adb connect 127.0.0.1:15555
然后可以看到电脑成功连上了
没有评论