OpenSSH
一直有不少读者对什么是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.完成后如下图所示:
4.更改root和mobile的密码,如下图所示:
如果你觉得在设备上操作不太舒服,再看看怎么从电脑连接到iOS设备:
1.Windows上推荐使用Putty客户端来连接iOS设备。点击下载Putty
运行客户端,并在设置中找到设备的IP,在下图中输入并连接:
2.按图中的命令输入,更改root和mobile的密码:
3.完成!你还可以自己用命令查看文件目录。如果你对Linux/Unix内核的系统(Ubuntu、Red Hat、OS X、Android)比较熟悉,可以用命令操作。一些命令可能格式稍有不同,但基本一致。比如用”dpkg -l”列举所有安装的软件包:
还有很多命令,笔者不一一列举,可以自行查阅
本文中笔者仅对OpenSSH、iOS修改root和mobile密码、使用Putty远程登录iOS设备进行了简单的探讨。笔者希望权当抛砖引玉,能让更多动手能力强的读者更好的使用自己的设备。
教程补充:
OpenSSH原是一个在Linux下很实用的一个软件。iPhone本身就是一个运行BSD系统(可认为是一种Liunx)的硬件,因此,Cydia的 作者Saurik把OpenSSH这一软件移植到了iOS平台上,并且简化了安全认证密钥的繁琐,使之成为一款可以在iPhone上运行的Cydia插 件。在iOS的系统管理中,多半是使用命令行。在远程管理中,多半是用OpenSSH通过Wi-Fi或者3G来对iPhone、iPad、iPod Touch执行命令修改文件等操作。
OpenSSH用途是在PC或者Mac上远程输入命令操作iOS设备,免去使用MobileTerminal,同时,也是一种在多系统下管理iPhone、iPad系统文件的方法。