"事半功倍:手机远程调试效率倍增"

上一篇文章: "长风破浪:Mach-O文件结构解读"

本篇文章将简要介绍手机远程调试。

1.手机远程调试

这篇文章介绍了探索Cydia的使用方式: "解锁潜力:探索Cydia的使用方式"

  • 1. 要使用OpenSSH工具进行远程连接,首先需要在越狱设备上安装Cydia,并从Cydia中安装OpenSSH工具。

  • 2. 通过使用USBMuxd脚本,可以实现端口转发,为后续的SSH连接做准备。

  • 3. 通过ssh命令,可以进行与越狱设备的远程连接。

  • 4. 最后,可以利用SCP等命令进行文件传输等操作。

  • 5. 文章还提及了无线和有线远程连接在越狱设备上的一些不同之处,这对于进行远程调试时的选择和设置是很重要的。

    • 5.1 无线连接不需要进行端口转发。

    • 5.2 有线连接需要进行端口转发。

    • 5.3 无线连接时,在终端中使用命令 ssh user@手机ip地址。

    • 5.4 有线连接时,在终端中使用命令 ssh root@localhost -p 2222。

    • 5.5 使用USB连接相比无线连接更稳定且传输速度更快。

2.SSH

每次调试deb包时都要反复输入密码确实很麻烦。或许可以考虑使用SSH密钥进行身份验证,这样就不必每次都输入密码了。

您可以生成一个SSH密钥对,并将公钥添加到iOS设备的~/.ssh/authorized_keys文件中。

这样,当您连接到设备时,SSH将会使用密钥进行身份验证,而不是要求您输入密码。

这样一来,您就可以更快捷地进行调试工作,提高效率。

ssh
  • 在远程调试时,通常需要输入密码。默认密码为alpine。

  • 如果您曾修改过密码,则需要记住您设置的密码。

  • 当您使用make package install命令时,您可能需要输入密码两次。

make package install

上述情况确实会影响效率。正好我们可以引入SSH来解决这个问题。

在讨论SSH时,很多朋友会混淆SSH、OpenSSH、SSL和OpenSSL等术语。

  • SSL,OpenSSH,SSL,OpenSSL

1. SSL(Secure Sockets Layer)是一种安全协议,用于网络通信,提供安全性和数据完整性。它在传输层对网络连接进行加密。

2. OpenSSL是SSL协议的开源实现,广泛用于加密通信。大部分HTTPS请求使用HTTP协议,但是在OpenSSL的加密下,数据传输变得更加安全可靠。

3. OpenSSH是用于安全远程登录的工具,它的加密功能是通过OpenSSL来完成的。这意味着OpenSSH使用OpenSSL提供的加密算法来保护通信的安全性。

4. SSH

SSH协议一共有两个版本,分别是SSH-1和SSH-2。目前使用较多的是SSH-2版本。

注意 在进行SSH通信时,需要注意客户端和服务端的SSH版本要保持一致才能够成功通信。

  • 查看SSH版本
    客户端: /etc/ssh/ssh_config
    服务端: /etc/ssh/sshd_config

  • SSH通信过程
    1. 建立安全连接
    2. 客户端认证
    3. 数据传输

  • SSH的客户端认证方式
    1. 基于密码的客户端认证
    2. 基于密钥的客户端认证

注意

SSH-2默认使用密钥认证机制。在密钥认证中,用户会生成一对密钥:公钥和私钥。

公钥存储在服务器上,而私钥则保存在用户的本地计算机上。

服务器会通过公钥来验证用户发送的加密结果,如果验证成功,则认为用户是合法的,并允许其进行连接。

  • 密钥认证登录

如何在客户端生成一对相关联的密钥(Key Pair):
一个公钥 (Public Key) ,一个私钥 (Private Key)

ssh-keygen
  • 接着,我们敲回车键即可
  • OpenSSH默认生成的是RSA密钥,可以通过-t参数指定密钥类型
  • 生成的公钥 / 私钥是 : ~/.ssh/id_rsa_pub , ~/.ssh/id_rsa

  • 接着我们创建.ssh文件夹

mkdir .ssh

已经存在.ssh目录,无法再次创建。

  • 我们把id_rsa.pub从Mac拷贝到移动端的.ssh文件夹
  • 我们把id_rsa.pub的内容自动追加到服务器的 ~/.ssh/authorized_keys尾部
  • 我们再远程登录一下客户端,看看是否免密登录.

输入命令后,我们就可以免密登录

注意
如果您输入命令后仍然需要输入密码,可以将您的公钥添加到authorized_keys文件中进行授权。

总结

本篇文章介绍了如何实现免密远程登录手机,并详细介绍了SSH协议。在文章中还提及了SSL、OpenSSH和OpenSSL等相关概念。相信通过这篇文章,您对远程调试应该有了更深入的了解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。