[脱獄] AppStoreのSSHクライアントアプリをMobileTerminalの代用として使う

Mobileterminal replacement 00

JailbreakしたiOS上でコマンドライン操作ができる「MobileTerminal」という脱獄アプリですが、iOSのバージョンが上がる度に起動しなくなったり、動作が非常に不安定なところがあって不便なんですよね。

AppStoreにあるSSHクライアントアプリを使って自分自身に接続することでMobileTerminalの代用になるというトピックがredditにあったので、メモ程度で残しておきます。
OpenSSHをインストールするためセキュリティ的なリスクがあります。しかしサードパーティ製のアプリなので、キーボードが拡張されていたり、フォントや見た目が綺麗だったりしてかなり快適になりました。というかもうMobileTerminalいらないですw

スポンサードリンク

必要なもの

  • 脱獄したiOS端末
  • OpenSSH
  • SSHクライアントアプリ
  • iFile or ファイルを書き換える手段

Prompt(800円)
カテゴリ: ユーティリティ, ビジネス

Server Auditor – SSH console and terminal(無料)
カテゴリ: ビジネス, 仕事効率化

そもそも127.0.0.1というローカルループバックアドレスに接続することで、サードパーティ製アプリがMobileTerminalの代替になるわけですが、iOS7からはsandbox内で22番のポートが使用不可になったためその解決策がredditでトピックに上がったという経緯です。iOS7以前の場合は以下に説明するファイルの書き換えは不要だと思われます。

iOS7.1.2のiPad Air上での説明ですが、iPhoneでも、iOS7.0.xでも大丈夫です。

以下実行は自己責任で。

OpenSSHをインストール

CydiaからOpenSSHをインストールします。 Mobileterminal replacement 01
ついでに「SSH Switch」というFlipSwitchトグルもインストールしておくと便利かも。

※初期設定ではユーザーのパスワードが「alpine」になっているため、必ず変更するように。こちらの記事がとても参考になります。

2つのファイルを書き換える

SSHに使うポート番号を変えるために2つのファイルを書き換えます。

1. services

iFIleかなにかで

/etc/services

にある「services」というファイルを編集。(編集前にファイルのバックアップをとっておくこと) Mobileterminal replacement 02

ssh 22/udp # SSH Remote Login Protocol
ssh 22/tcp # SSH Remote Login Protocol

「ssh 22」の行を探して、その真下に2行追加して以下のようにします。

ssh 22/udp # SSH Remote Login Protocol
ssh 22/tcp # SSH Remote Login Protocol
ssh2 51022/udp #SSH Server port change
ssh2 51022/tcp #SSH Server port change

こんな感じ。Mobileterminal replacement 03


2. com.openssh.sshd.plist

「services」ファイルを保存したら、次は

/Library/LaunchDaemons/com.openssh.sshd.plist

にある「com.openssh.sshd.plist」を編集。(こちらも編集前にファイルのバックアップをとっておくといい) Mobileterminal replacement 04

<key>SockServiceName</key>
<string>ssh</string>

の「ssh」を「ssh2」にします。

<key>SockServiceName</key>
<string>ssh2</string>

こんな感じMobileterminal replacement 05

「com.openssh.sshd.plist」を保存したらデバイスを再起動して設定完了!

SSHクライアントで接続

AppStoreにあるサードパーティ製のSSHクライアントアプリで接続してみます。
自分はiPadだとPrompt(有料)がお気に入りですが、Server Auditorは無料でよさそうです。

Prompt(800円)
カテゴリ: ユーティリティ, ビジネス

Server Auditor – SSH console and terminal(無料)
カテゴリ: ビジネス, 仕事効率化

SSH接続先を「127.0.0.1」、ポート番号を「51022」、ユーザー名を「mobile」としてパスワードはデフォルトで「alpine」ですが変更している人は変更後のパスワードを入力。Mobileterminal replacement 00

接続すると黒い画面が立ち上がります。 Mobileterminal replacement 06画像は「apt-get update」でCydiaのリソースを更新したところ。通常のMobile Terminalと全く同じコマンドが使えます。

Promptアプリだとフォントの大きさやキーボードの拡張、接続時の初期コマンドが設定できてGUIのデザイン的にも綺麗です。なんといってもバックグラウンドに回っても切断しないのが良いですね。 Mobileterminal replacement 08

Server AuditorならiOS7対応で、無料ながら充分使えます。Mobileterminal replacement 07(ただし日本語入力不可な模様)

まとめ

以上、サードパーティアプリでMobileTerminalの代用ができました。
AppStoreに並んでいるアプリでiPhoneやiPadのファイルシステムを直接操作できるのはなんだか新しい感覚なのですが、SSHでローカルホストに接続する手法はだいぶ前から一般的だったようですね。自分は全然知りませんでしたw

iOS7からは上記のようにファイルを弄らないと繋がらないので注意です。ちなみに変更するポート番号は51022である必要はないですが、参照元がそうだったのでそのまま持ってきました。

参考:reddit

カテゴリー:Jailbreak タグ:, , , , ,