OpenSSH在iOS上应用的简单探讨

自从上次出了”如何修改iOS设备的Root密码”的视频教程,一直有不少读者对什么是OpenSSH和它能干什么很感兴趣。笔者基于自己的一些理解来简单探讨下iOS上的OpenSSH。

首先自然是要越狱,在Cydia中安装OpenSSH后就完成了手机端工作。

那么,什么是OpenSSH?先来看看SSH是什么,下面是笔者自己的定义:

SSH是一种可以保证用户安全的远程登录到操作系统的协议。

究竟安全在哪里呢?

Windows用户应该都听说过Telnet,这也是一种命令行的远程登录工具,而且是系统自带的。在XP下是默认开启的,到了Win7及以后,系统虽然有这个功能,但需要用户手动安装并开启这个功能。

这么好的一个工具为什么还要用户手动开启呢?

答案就是:Telnet在传输过程中,密码是以明文传递的。明文传递带来的一个问题是,在数据包传送过程中,攻击者可以抓取到你的数据包并可以进行修改。这种攻击叫做中间人攻击,即便攻击者不修改你的密码,他也可以知道你的密码,以后可以用这个密码登录你的电脑。

SSH对Telnet的一个重要优势就是所有传输都是经过加密的,这样就增大了中间人攻击的难度。SSH中使用了MD5、RSA、DES等密码算法,保证数据的机密性、完整性、不可重放攻击。整个过程中包括密钥协商和交换,以及数据加密传送和解密等等。但也不是说就不能攻击,只是攻击的成本加大很多。

OpenSSH是SSH的开源实现,因此用户可以免费使用到这种安全服务。

还有一个看着比较近似的词:OpenSSL。这个是SSL的开源实现,所谓SSL就是安全套接字层。具体含义笔者不再解释了,总之跟OpenSSH不是一码事。

一句话概括OpenSSH:使用加密的远程登录实现,可以有效保护登录及数据的安全。

在越狱后,由于整个系统都可以被访问到,而root用户的密码又是默认的,因此如果你安装了OpenSSH或其他一些服务可以被利用来进行远程登录,那么别人就可以轻松的访问到你设备中的任何文件。这也算越狱带来的对系统安全性降低的一个途径,因此就要修改具有较高权限账户的密码。

一共有两个账户需要修改:root和mobile用户。先来解释下这两个用户的区别:

  1. root:linux/unix系统中权限最高的账户,等于Windows中的Administrator,具有对系统完全的控制权,因此也最容易遭到攻击
  2. mobile:使用设备时其实是以mobile用户(mobile组)的身份进行操作的。这个账户比root权限低,就像Windows中的普通用户,可以操作一些普通的文件,但系统文件不可操作。这个账户同样重要

总之,这两个账户的密码都需要修改

修改密码的大致步骤:

  1. Cydia中安装Mobile Terminal
  2. 运行Mobile Terminal,输入“su root”提升到管理员权限,再输入默认密码:”alpine”(没有引号),并点“return”。注意输入密码过程中,密码不会显示出来。这点和Windows上用圆点来遮盖密码不一样,一个好处就是攻击者也不会知道密码的长度,增加暴力破解猜测的难度。
  3. 完成后如下图所示:IMG_0942
  4. 更改root和mobile的密码,如下图所示:openssh_passwd

如果你觉得在设备上操作不太舒服,再看看怎么从电脑连接到iOS设备:

  1. Windows上推荐使用Putty客户端来连接iOS设备。点击进入官方下载页面

运行客户端,并在设置中找到设备的IP,在下图中输入并连接:putty_config 2. 按图中的命令输入,更改root和mobile的密码:putty_change_pwd 3. 完成!你还可以自己用命令查看文件目录。如果你对Linux/Unix内核的系统(Ubuntu、Red Hat、OS X、Android)比较熟悉,可以用命令操作。一些命令可能格式稍有不同,但基本一致。比如用”dpkg -l”列举所有安装的软件包:dpkg_l

还有很多命令,笔者不一一列举,可以自行查阅

本文中笔者仅对OpenSSH、iOS修改root和mobile密码、使用Putty远程登录iOS设备进行了简单的探讨。笔者希望权当抛砖引玉,能让更多动手能力强的读者更好的使用自己的设备。

相关阅读: