aquadrops *

【iPhone hack 2】iPhoneにSSHで接続する。


【iPhone hack 2】iPhoneにSSHで接続する。前回、無事脱獄を果たしたことなので、

iPhoneにSSHで接続してみます。今回はそのメモを。

iPhoneにOpenSSHをインストールする

GUIベースであっけなくインストールできます。

Cydiaの「More Package Sources」をタッチ。

「OpenSSH」をタッチ。

右上の「Install」ボタンをタッチ。

確認画面になるので「Confirm」をタッチ。

OpenSSHのパッケージをダウンロードします。

パッケージの展開後、「Return to Cydia」ボタンが表示されたら完了。タッチして終了です。

iPhoneにSSHしてみよう

デフォルトではSoftBankのネットワークからもアクセス可能になっていますが、、無線LANから繋いでみます。

無線LAN環境がある場合は「Wi-Fiネットワーク」からIPアドレスを確認しておきましょう。

無線LAN環境が無い場合は前エントリを参考に、アドホック接続を行っておいて下さい。

それでは接続してみます。

初回のみ、反応に時間がかかります。

「The authenticity of host〜」は「リモートマシンの鍵がローカルに無いが接続してもいいか?」の意で、初回のみ聞かれます。yesをタイプして下さい。

初期パスワードは「alpine」です。

とりあえずpsコマンドを打ってみた。

セキュリティを強化する

このままではSoftBankのネットワークからログインされてしまう可能性が高いので、セキュリティを強化します。

passwd コマンドでパスワードを変更しておきます。

さらに強化する為に秘密鍵でログインできるようにします。

ローカルに秘密鍵が無い場合はssh-keygenコマンドで作成します。

パスワードも設定しましょう。

scpコマンドで公開鍵をiPhoneに転送します。

別にターミナルを起動して、再度iPhoneに接続してみます。

秘密鍵を生成する時にパスワードを設定するとパスワード入力画面がポップアップされるので、入力します。

ログインできたら鍵の設置は成功です。

次にパスワード認証を無効にし、鍵でのログインのみを許可します。

iPhone側で /etc/ssh/sshd_config をviで開いて、下記箇所を修正します。

公開鍵方式を使用する

#PubkeyAuthentication yes
#AuthorizedKeysFile      .ssh/authorized_keys

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

パスワード認証を無効にする

#PasswordAuthentication yes

PasswordAuthentication no

sshdを再起動して完了。

# launchctl stop com.openssh.sshd;launchctl start com.openssh.sshd

3 thoughts on “【iPhone hack 2】iPhoneにSSHで接続する。

  1. tak

    恐れ入ります、ちょっと質問です。

    JB済みiPhoneでOpenSSHの接続をテストしています。
    WindowsXP(SP2)のPCでWinSCPを起動すると

    「サーバーに接続しています」

    の表示のあと

    「Host is not communicating for more than 15 seconds.」

    などといったポップアップが出ます。

    【中止】を押すと

    「ユーザーによって終了しました」

    と表示が出てセッションが切れてしまうようです。

    何か設定が違っているのでしょうか?

    アドバイスいただければ幸いです。
    よろしくお願いいたします。

  2. *daisuke* Post author

    tak さん >>

    ここは質問blogではないので、ご自身で調べてくださいね、
    と言うのも不親切なので、順を追って調べましょう。

    まず。質問の時はクライアントのバージョンだけでなく、iPhoneのバージョンも書きましょう。

    記事のタイムスタンプを見て頂ければわかるかと思いますが、
    この記事はiPhone OS 2.0の頃の記事なので、今とは大きく違う部分があるかもしれないです。
    iPhone OS 3.xになってからのSSH接続は試してない上、環境もよくわからないので、一般的にSSHで繋がらないケースを想定しています。

    1.iPhoneにpingは飛んでますか?
     →繋がらなければそもそものネットワーク設定の問題。
    2.SSHでは繋がりますか?
     →繋がるけど時間がかかる
      →逆引きができてないので、iPhone側のhostsファイルにクライアントのIPと適当なホスト名を書く
     →繋がらない
      →(鍵認証なら)公開鍵置いてますか?
       パスワード合ってますか?
       iPhone側でSSHのポートが開いていますか?
       →iPhone側でターミナル開いて、psなりnetstatなりで調べてみてください。

  3. とおりすがり

    「Host is not communicating for more than 15 seconds.」
    っていうのは、15秒応答無いけど、どうする?
    って聞かれているだけです。「中止」を押さずに「続行」(だったかな?)を押してしばらくすればつながると思いますよ?
    とりあえずトライ&エラーで試してみてから質問するのがよいかと。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です