[iOS] デバイスへSSH接続する方法!「ターミナル操作」&「ファイル操作」

(27)

不具合に見舞われた時はもちろん、通常使用時でも何かと役に立つ事がある『SSH接続』によるターミナル操作(コマンド操作)やファイル操作(SFTP)。
実際の操作はさておき、まず第一関門は接続方法です。これさえクリアしてしまえば、ファイル操作は直感的に、コマンド操作はやりたいことの手順を見ながら…進めていきます。

ということで、今回はiOSデバイスにPCからSSH接続する方法をコマンド操作を行うターミナルソフトとファイル操作を行うSFTPソフトの両方でご紹介。

スポンサーリンク

*注意*

今回の記事では接続方法をご紹介していますが、それ以上の操作はデバイス内のシステムファイルを破損するなど…非常に危険な操作も行えてします。
操作手順などを理解した上、何が起こっても自分の知識と責任で解決出来る方のみ実行してください。

iOS側の準備は…

iOSデバイス側での準備は簡単で、OpenSSHをインストールしておく事だけです。最近の脱獄では、最初からインストールされている場合も多いですよね。

インストールされているだけでiOS側は接続を受け付けている状態になるので、あとは同じネットワーク下にあるPC側から接続してあげるだけでオーケー。

howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-2

IPアドレスを確認しておこう

SSH接続を行うには、WiFiのIPアドレスが必要です。ということで…これを確認しておきましょう。

確認方法は簡単で、設定アプリ > Wi-Fi項目から接続中のWiFiを選択。そこにある【IPアドレス】が目的のものです。

howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-3

パスワード変更は忘れずに…!

注意点として、OpenSSHをインストールしていると…これからご紹介する方法でiOSデバイスに誰でもSSH接続することが出来てしまいます。
接続時に必要なパスワードも初期では全て【alpine】なので、尚更危険。

そのため、OpenSSHをインストールする場合 or インストールしていなくても、脱獄を行ったまずはrootとmobileのパスワードを変更しておきましょう。

パスワード変更の方法は以下記事を参考にしてみてください。
脱獄後、パスワードを変更しましょう!デフォルトでSSHが有効になってるよ!

SSHでの接続方法〜ターミナル編

まずは、ターミナルソフトからSSH接続を行い、コマンド操作を実行する方法をご紹介。
Macでは純正でターミナルから行えるのですが、Windowsでは出来ないので専門のソフトをダウンロードして使っていきます。

Windowsでの方法

色々なソフトがありますが、今回はよく使われることの多い『PuTTY』を使用して進めていきます。

  1. iceiv+putty】よりPuTTYをダウンロード&解凍し、putty.exeをダブルクリックして起動しましょう。

    ダウンロード出来るものがふたつ程ありますが、どちらでも大丈夫です。

  2. 起動すると、この様な接続先を指定する画面が出現。

    Host Name』部分に先程確認したiOSデバイスの【IPアドレス】を入力。
    Port』部分には接続に使用するポート番号を入力するのですが、多くの場合は【22】のままで大丈夫です。

    入力が出来たら『Open』ボタンをクリックして、接続を行います。

    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-4
  3. 初回接続時

    初めてSSH接続を行った際、以下の様なポップアップが出現します。『はい』を選択して進めてください。

    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-5
  4. 背景が黒い画面が出現しますので、『login as:』部分に【root】と入力してエンター。
    ちなみに、mobileと入力すると…mobileユーザーでログインが行なえます。
    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-6
  5. 続いて『password:』と訪ねてきますので、パスワードを入力します。
    純正であれば【alpine】ですが、変更している場合はそのパスワードを入力しましょう。

    また、パスワード入力では打った文字が画面に出現しない仕様なので、入力できていない様に見えますが気にせず入力してエンター。

    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-7
  6. 画面上に『root#』と出てくれば、SSH接続によるrootユーザーでのログインに成功した証です。
    何かコマンド操作を行いたい場合はこのままコマンドを入力して実行していくことが可能。
    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-8

Macでの方法

さて、MacからSSH接続を行う方法ですが…Windowsよりも簡単。純正のターミナルアプリから1コマンドでログインが行なえます。

  1. ターミナルを起動後、【ssh root@IPアドレス】と入力しエンター。IPアドレスは先程確認したiOSデバイスのIPアドレスです(例:ssh root@192.168.2.113)。

    ちなみに、root部分をmobileに変更すると、mobileユーザーとしてログインが行なえます。

    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-9
  2. password:』と訪ねてきますので、パスワードを入力します。
    純正であれば【alpine】ですが、変更している場合はそのパスワードを入力しましょう。

    また、パスワード入力では打った文字が画面に出現しない仕様なので、入力できていない様に見えますが気にせず入力してエンター。

    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-10
  3. 画面上に『root#』と出てくれば、SSH接続によるrootユーザーでのログインに成功した証です。
    何かコマンド操作を行いたい場合はこのままコマンドを入力して実行していくことが可能。
    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-11

SSHでの接続方法〜SFTPアプリ編

続いてファイル操作などを簡単に行えるSFTPソフトからSSH接続する手順をご紹介。

ちょうどWindows版もMac版もあり、公式サイトからダウンロードすると無料で使用できるソフト「Cyberduck」がありますので、今回はそちらを使用していきます。

  1. Cyberduck】よりソフトをダウンロードしましょう。
    for Windowsやfor Macと書かれているリンクからダウンロードを行ってください。

    ちなみに、公式サイトからダウンロードすると無料ですが…Windows StoreやMac App Storeでは有料扱いになっています(無料版が気に入ったら購入や寄付をしてあげましょう)。

    Windows版はインストールを、Mac版は解凍を行い、起動してください

  2. 起動すると以下のような画面が出現しますので、画面左上『新規接続』ボタンをクリックしてください。
    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-12
  3. 接続先の設定画面が出現します。

    最上部の選択肢を【SFTP (SSHによる暗号化 FTP)】に切り替えます。
    サーバ』部分に先程確認したiOSデバイスの【IPアドレス】を入力。
    Port』部分には接続に使用するポート番号を入力するのですが、多くの場合は【22】のままで大丈夫です。
    ユーザ名』部分には【root】と入力(mobileと入力すると、mobileユーザーでのログインになります)。
    パスワード』部分にはパスワードを入力します。純正であれば【alpine】ですが、変更している場合はそのパスワードを入力してください。

    全て入力できたら…『接続』ボタンをクリック!

    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-13
  4. 初回接続時

    初めて接続した際は以下のようなポップアップが出現しますので、『許可』をクリックして接続を進めましょう。

    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-14
  5. これでSFTPソフトをSSH接続することが出来ました。
    後は通常のファイラーの様にファイル操作を行えます。もちろんiOSデバイス <-> PC間のファイル転送も可能。ドラッグ&ドロップの簡単操作。
    howto-ssh-connect-ios-windows-macos-terminal-cyberduck-20180523-15

駆け足でご紹介したのですが、ちょっと記事が長くなってしまいました…。とは言え、やっている事は至って簡単です。
ですが、これによって出来るようになる事は非常に多く、脱獄している方はこの手順を覚えておいて損はありません!

特に、不具合が発生してリスプリングループ…でもSSH接続は出来る…なんて事も結構あったりするので、そういった際にコマンドやファイル操作で不具合が解決出来ることも多々あります。
更に、今後ブログでご紹介しようと考えている作業に必須なスキルでもあるので、ぜひ…覚えておいてください!

ただし、これらのコマンド操作・ファイル操作は簡単にシステムファイルの削除なども行えてしまう強力な物なので、必ず用法用量を守ってご使用を…。 

コメント

  1. ありがとナス!

  2. こういう記事は助かりますね
    万が一の時のために

  3. あのイガイガのキャラすき

  4. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
    Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    It is also possible that a host key has just been changed.
    The fingerprint for the RSA key sent by the remote host is
    SHA256:tZEuBWKh5w1IU+n+TdAmfvemKuyulfFr86bH8/vNb5g.
    Please contact your system administrator.
    Add correct host key in /Users/user/.ssh/known_hosts to get rid of this message.
    Offending RSA key in /Users/user/.ssh/known_hosts:2
    RSA host key for IP has changed and you have requested strict checking.
    と出てしまいます…

    • 以前そのiPアドレスのデバイスへSSH接続を行った際のキーが残っているため発生しています。
      「ssh-keygen -R IPアドレス」を実行することで、過去のキーを削除することが可能です。お試しください。

  5. 文字が打てないいいい

    • どの場面で文字がうてないのでしょうか?

  6. 今頃だけど、Windows版の「Cyberduck」をダウンロードして、インストールしたのに、起動出来ないです。
    誰か対処法わかる方いますか?

    • 起動しない…というのは、具体的には何かしらのエラーが出ていたりする状況でしょうか?

  7. SSH接続ができないのですがなぜでしょう…
    OpenSSHはインストールされていますがSSHトグルなど入れても表示が出ません
    SSH機能が壊れたのでしょうか?

  8. OpenSSHってどこからインストールすんねん

    • Electraを導入した時点で有効になってるから SSHでの接続方法〜ターミナル編 から見ればいいと解釈したけど。
      でも俺もNetwork error: Connection refusedが出てできないや。

  9. ↑同じく。cydiaアイコンが未出現なのに。

  10. SSH接続後、rootとmobileのパスワードは変えたのですが、
    nobody、daemonというアカウントのパスワードも変えたほうが良いのでしょうか?

    /etc/passwdを見たら上記2ユーザもいたのですが、用途がよくわからず、
    有識者いましたら教えていただけると幸いです。

  11. Mac ターミナルでConnection refusedと出る。
    Cyberduckで試すとConnection refused (Connection refused). 接続試行は拒否されました。
    サーバーがダウンしているか、ネットワーク設定が正しくない可能性があります。.
    出るけど何故?

    • iOS 11.3.1対応Electraの環境であれば、Tweaksをオフにした状態でEnable Jailbreakを実行してみてください。
      この時、OpenSSH Runningと表示されてから接続を試してみてください。

      • 試みた所
        The authenticity of host ‘192.168.0.15 (192.168.0.15)’ can’t be established.
        RSA key fingerprint is SHA256:qbj/U+Fh91C4mT3PNLs51SjQfSybCl5sRxmqEnE+qsU.
        Are you sure you want to continue connecting (yes/no)?
        となるのですが?

        • 自己解決しました。
          取りあえずYESだったんですね。

      • Putty経由で接続を試みているのですが、TweaksをオフにしてOpenSSH Runningと表示された後もConnection Refusedでアクセスできません。
        OpenSSHを入れなおしたりもしたのですが、、、なんともです。
        何か解決のヒントありませんかね。。。

  12. 上の質問者さんとは別人ですがMacでの接続を試みているものの
    タイムアウトしてしまいます
    TweaksをオフにしOpenSSH Runningも出ているのですが…
    cydiaで確認して見ても、OpenSSHはちゃんとインストールされていますし
    コマンドが間違っているということもありません

    • 同じくMacで接続試みてます。
      一度ログインできて、Delectraも実行出来ました。
      再度JailbreakしてCydiamがアーカイブの準備でインストール出来ず再度
      ログインしようとしてもtime outになってしまいます。
      Open SSFは実行されています。

    • 同じくMacで接続試みてます。だめになってしまいました。

      一度ログインできて、Delectraも実行出来ました。
      再度JailbreakしてCydiamがアーカイブの準備でインストール出来ず再度
      ログインしようとしてもtime outになってしまいます。
      Open SSFは実行されています。

  13. login as:というのが出ずに、何も書き込むことも出来ないのですが?

    • 何か他にエラーなどは出ていませんでしょうか?

  14. iFunboxと違って有線でのデータ転送で無いから動画ファイルなど、ある程度容量があるファイルは途中で転送が止まってしまいますね〜Apple File Conduit “2”や、iFunboxもiOS11に対応してくれないかなぁ〜

  15. cydiaがバグっていてOpen SSHがダウンロードができないのですがどうすればいいでしょうか。
    ほかのアプリも何もダウンロードできません。
    Could not open file – openというエラーがてでいます。
    なにか解決策があったらおしえてください。

    • ご使用のバージョンや環境はどの様なものになっていますでしょうか?