browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

关于 iPhone 的 SSH 登录

Posted by on 2010 年 10 月 08 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

经过两天的折腾,终于成功通过 SSH 登录了 iPhone。现将我遇到的大致问题总结如下,希望能对还在迷惑中的童鞋们有所帮助。
首先,需要确认 iPhone 是否感染了病毒,有的蠕虫可能会造成 SSH 无法正常使用,这是网上所能找到的最多信息。虽然我的 iPhone 并没遇到这个问题,不过相信这也是很重要的一个原因,所以仍然将其列了出来,以供参考。
其次的信息很重要——“你的 iPhone 要正确安装了 OpenSSL 与 OpenSSH”。事后看来,我的问题似乎正是出在这里,而这句话有些过于简练,因此白白浪费了我很长的时间。所以,我认为有必要将其中奥秘讲个清楚。
虽然我在 91 助手的程序管理中能够看到 OpenSSL 与 OpenSSH 已被安装,但是我的 iPhone 仍然无法使用 SSH 登录。于是,我继续看到了网上的信息“请反复安装 OpenSSH 并重试登录”,可惜我照做 N 遍后仍然无法成功——现在看来,这句话有碰运气的成分,不过我没有验证。
偶然间,我在 /etc/ssh/ 下发现了 OpenSSH 的配置文件 sshd_config,于是决定打开看个究竟。在其中,我很容易地找到了如下的配置项:

1
2
3
4
5
# HostKey for protocol version 1
HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key

经过对比发现,我的 /etc/ssh/ 下并没有 ssh_host_key、ssh_host_rsa_key 和 ssh_host_dsa_key 这三个文件。于是我尝试着使用 ssh-keygen 来生成我的密钥,但 ssh-keygen 提示我 libcrypto 没有正确安装。由此看来,应该是 OpenSSL 的问题。接下来,我使用 91 助手再次安装了 OpenSSL,并使用命令行工具生成了我的三个密钥:

1
2
3
ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""

需要说明的是,在 Mobile Terminal 中输入上面的命令非常麻烦,建议写个批处理。在密钥生成之后,就可以使用 PuTTY 或 WinSCP 登录 iPhone 了。

末了,多说两句。虽然 91 助手非常贴心,用户体验也非常好,但是我总有着隐隐的不安。原因有三:

  1. 每次同步自动在 Safari 中加入 91 首页收藏;
  2. 每次同步自动在桌面加入 91 首页的快捷方式图标;
  3. 幽灵般的常驻者 PandaDaemon。

总之,希望 91 不会成为手机上的数字卫士。

———— 传说中的分隔线 ————

另外,今天是 2010 年 10 月 8 日,今天属于一个战士,他当之无愧。

订阅本站

4 Comments

  • At 2010.10.08 22:19, X said:

    咋不用cydia安装啊,直接手机安装

    • At 2010.10.08 22:26, 李马 said:

      OpenSSL?很奇怪,我在 Cydia 中搜不到,用 91 的 Cydia 却能搜到。

      • At 2010.10.09 21:15, Магсн said:

        用webos吧。。。全键盘很爽。不行你先下个虚拟机(sdk+pdk)玩吧

        • At 2010.10.09 22:25, 李马 said:

          无视正太。

          (Required)
          (Required, will not be published)