トラブルシューティングのため、またはコンピューターから実行するツールを使用するために、コンピューターからモバイルデバイスに接続する必要がある場合があります。例えば、tihmstarのPrometheusスイートは、デバイスとデバイスが使用するファイルが保存されているコンピューターからコマンドを送信することで、デバイスをダウングレードします。このために使用される接続はSSHと呼ばれ、通常はOpenSSHパッケージ(またはDropbearなどの同等のクライアント)によって提供されます。
このガイドでは、SSHを使用してコンピューターからデバイスに接続する方法を説明します。また、デバイスのデフォルトパスワードを変更する方法についても説明します。OpenSSHをインストールすると、デフォルトパスワードを変更しないと誰でもログインできてしまうためです。これは重大なセキュリティリスクとなるため、OpenSSHをインストールしているすべてのユーザーは、この手順に従う必要があります。
警告: これを読んでください!
なお、この手順はiOS 10 Yaluの脱獄には適用されません。Yaluには既に別のSSHクライアントが含まれているため、OpenSSHを一緒にインストールすると問題が発生します。
ただし、iOS 9.3.3 以前を実行しているデバイスに OpenSSH をインストールすることは完全に安全です。
iPhoneまたはiPadにSSH接続する方法
1) まだインストールされていない場合は、 CydiaからデバイスにOpenSSHをインストールしてください。Cydia/Telesphoreoリポジトリにあり、作者はSaurikです。
iOS 10 用の Yalu ジェイルブレイクを実行している場合は、 OpenSSH をインストールしないでください。OpenSSH には Dropbear と呼ばれる SSH クライアントがすでに含まれており、両方をインストールすると問題が発生するためです。
2) ノートパソコンとデバイスの両方が同じ Wi-Fi ネットワークに接続されていることを確認します。
3) デバイスで 設定 アプリを開き、 Wi-Fiに移動します。
4) 現在接続している Wi-Fi ネットワークの右側にある青い情報アイコンを選択します。
5) 表示される情報ページで、 「IP アドレス」というフィールドを探し 、その値を書き留めます。
6) Mac で、 /Applications/Utilities または Spotlight からターミナル アプリケーションを起動します。
7) プロンプトで以下のコマンドを入力します。Xの文字列を 手順5でメモしたIPアドレス に置き換えます。
ssh [email protected]
8) ターミナルでホストを信頼するかどうかを尋ねられる場合があります。その場合は 「yes」と入力し、 Enterキーを押します。
9) 接続するにはデバイスのパスワードの入力を求められます。これはコンピュータのパスワードやデバイスのロックパスワードとは異なります。
- これまでパスワードを変更したことがなく、OpenSSH を使用したこともない場合は、パスワードはデフォルトの alpine のままです。
- 以前に OpenSSH を使用してデバイスのパスワードを変更したことがある場合は、新しいパスワードがわかっているので、ここで入力できます。
10) パスワードを入力し、 Enter キーを押します。
11) パスワードを入力すると、ターミナルのプロンプトがコンピュータ名から rootに変わります。これは、デバイスに接続されたことを意味します。これ以降に実行するコマンドは、コンピュータではなくデバイスに適用されます。
デバイスのデフォルトパスワードを既に変更済みで、デバイスにSSH接続する方法だけを知りたい場合は、これで完了です。これで、ファイルの置き換えやPrometheusなどのツールの使用など、デバイスに必要なコマンドを実行できます。
ただし、まだデフォルトのパスワードを変更しておらず、パスワード「alpine」でログインしている場合は、このガイドの残りの手順に従って今すぐパスワードを変更する必要があります。
ルートパスワードとモバイルパスワードを変更する方法
この部分は 1 回だけ実行する必要があります。今後は、上記の手順に従うだけでデバイスに SSH 接続できます。
1)上記の手順に従って、iPhone または iPad に SSH 接続します。
2)デバイスに接続し、コマンドプロンプトに rootと表示されたら、ターミナルにpasswd と入力して root パスワードを変更します 。
3) 新しいルートパスワードの入力を求められます。パスワードを慎重に入力し、 Enterキーを押して、プロンプトが表示されたらもう一度入力してください。
このパスワードを紛失したり、2 回間違って入力したり、忘れたりしないでください。そうするとパスワードを変更できなくなり、パスワードがないと SSH 経由でデバイスに接続できなくなります。
パスワードを2回入力すると、 root プロンプトが再び表示されます。これはrootパスワードの変更に成功したことを意味します。今後、SSH接続を行う際は、上記の手順9で新しいパスワードを入力する必要があります。
4) ターミナルに「passwd mobile」と入力し 、 Enterキーを押します。 デバイスのセキュリティを確保するため、モバイルユーザーとrootユーザーのパスワードを変更します。
5) ターミナルは再びパスワードを2回入力するよう求めます。今回はrootではなくモバイルのパスワードです。パスワードは同じでも構いません。
このパスワードを紛失したり、2回間違って入力したり、忘れたりしないでください。そうした場合、パスワードを変更できなくなります。
パスワードを2回入力するとプロンプトが再び表示され、モバイルパスワードも正常に変更されたことを意味します。これで、デフォルトパスワードでログインしようとする不正な接続からデバイスが保護されます。今後は、このガイドの手順2~9に従ってSSH接続し、「alpine」の代わりに新しいルートパスワードを入力してください。
コマンドを表示できるように、ターミナル セッション全体のスクリーンショットを次に示します。
OpenSSHは強力なツールであり、デバイス自体が使用できない状態(例えばフリーズやブートループ)でも変更を加えることができるため、復元からデバイスを救うことができます。そのため、最悪の事態に備えるためにインストールしておくことをお勧めします。ただし、インストールする場合は、 上記のようにパスワードを必ず変更してください。そうしないと、セキュリティ上のリスクが高まり、役に立たなくなります。
このガイドの手順で何か問題が発生した場合、またAppleデバイスでOpenSSHを有効活用する面白いアイデアがあれば、ぜひ教えてください。この手順は、tihmstarの futurerestore を使ってデバイスを署名なしファームウェアにアップグレードする方法など、今後公開するガイドにも役立つと思いますので、こちらもぜひご覧ください。