ssh远程登录iPhone, 需要在iPhone(越狱机)中先安装插件OpenSSH
登录SSH
1. 远程连接iPhone
ssh root@iPhoneIP
2. 输入ssh密码, 默认为: alpine
注: know_hosts文件记录了你远程登录的IP和服务器的公钥, 当你登录时使用know_hosts文件中记录了的公钥, 但是IP和know_hosts记录不同的时候, 会出现中间人攻击警告, 如果你确定你访问的IP没有错误, 删除know_hosts文件中的对应记录即可.
SSH免密登录
1. 生成SSH秘钥
ssh-keygen
- 指定秘钥加密算法
ssh-keygen -t 算法名
- 指定文件名
ssh-keygen -f 文件名
- 设置备注
ssh-keygen -C "备注内容"
- 综合使用
ssh-keygen -f 文件名 -t rsa -C "备注"
注意:
如果你的加密文件不是默认文件名, 在 SSH 用户配置文件 ~/.ssh/config 中指定对应服务所使用的公秘钥名称,如果没有 config 文件的话就新建一个,并输入以下内容:Host iPhoneIP IdentityFile ~/.ssh/fileName
2. 拷贝秘钥到iPhone
ssh-copy-id root@iPhoneIP
- 修改iPhone秘钥保存文件的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
参考: https://www.cnblogs.com/ayseeing/p/4445194.html
使用usbmuxd链接手机
苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes, XCode,都直接或者间接地用到了这个服务。
原理:
使用脚本监听本机(Mac)的一个端口, 每次请求都映射到服务器(iPhone)的默认端口(22), 间接通过SSH连接了手机.
优点:
使用USB连接手机速度更快更稳定.
下载usbmuxd, 找到并进入python-client文件夹, 里面有两个脚本文件: tcprelay.py 和 usbmux.py
- 监听本机端口, 如12345号端口. 并映射到服务器的22号端口
python tcprelay.py -t 22:12345
- 连接本机的12345号端口服务器(iPhone)
ssh -p 12345 root@127.0.0.1
拷贝文件到iPhone
// 通过WiFi的SSH连接拷贝文件到用户目录
scp test.txt root@192.168.0.102:~/
// 通过USB的SSH连接拷贝文件到用户目录
scp -P 12345 test.txt root@127.0.0.1:~/