2009年7月3日に iPhone 3GS 32GB Black 買いました(^^)v。
マニュアル置き場
- アップルジャパンのページ
- アップルのマニュアル置き場 http://help.apple.com/iphone/guide/main.html
- iPhone Dev Center
- 日本語のマニュアル http://www.apple.com/jp/support/iphone/
- 日本語化されたマニュアル
- ユーザガイドの pdf ファイル http://manuals.info.apple.com/ja_JP/iPhone_User_Guide_JP.pdf
- サンプルコード MoveMe
電話帳移行ツール
- ソフトバンクによる電話帳簡単コピー電話帳移行ツール http://mb.softbank.jp/mb/iphone/pdc/index.html
通話と Wi-Fi だけにデータ通信を限定
ちなみに apn-disabler.mobileconfig を property list editor で 開いてみると以下のようである。
username とか password とか怪しい...:)
Jailbreak 関連情報
2009年10月11日 brackra1n にて 3.1.2 を jailbreak しました(^^)v。
blackra1n はこちらからhttp://blackra1n.com
blackra1n は今のところ windows only なので, boot camp で windows vista から jailbreak しました。
上の写真左は,Mobile Terminal という脱獄アプリを開いたところ UNIX でいう ターミナルエミュレータです。中央の写真は Five Icon Dock というアプリを入れて Dock のアイコンを 5 つにしたところ。右の写真は Five columns と Five Rows というアプリを入れて 5 行 5 列にしたところ。
今のところ jailbreak して入れているアプリは Winterboard, openSSH, SBSettings, MobileTerminal, vim, Five Icons Dock, Rotation inhibitor, FiveRows, Five-Column SpringBoard くらいです。
- http://toysn.blog103.fc2.com/blog-entry-492.html
- http://www.iphooone.com/pukiwiki/index.php?After%20JailBreak#a7d33ee5
- http://iphone.goodegg.jp/archives/186
パスワードの変更
Jail Break して,openSSH をインストールすると iPhone に ssh でログインすることができるようになる。iPhone の /etc/passwd は以下のようになっている。
Treisman:/var/mobile root# cat /etc/passwd
#
# 4.3BSD-compatable User Database
#
# Note that this file is not consulted for login.
# It only exisits for compatability with 4.3BSD utilities.
#
# This file is automatically re-written by various system utilities.
# Do not edit this file. Changes will be lost.
#
nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false
root:*:0:0:System Administrator:/var/root:/bin/sh
mobile:*:501:501:Mobile User:/var/mobile:/bin/sh
daemon:*:1:1:System Services:/var/root:/usr/bin/false
_securityd:*:64:64:securityd:/var/empty:/usr/bin/false
_mdnsresponder:*:65:65:mDNSResponder:/var/empty:/usr/bin/false
_sshd:*:75:75:sshd Privilege separation:/var/empty:/usr/bin/false
_unknown:*:99:99:Unknown User:/var/empty:/usr/bin/false
すなわち,root と mobile というユーザでログインできる。 iPhone の出荷時の初期設定は両ユーザとも alpineである。 このパスワードは sshd を起動したら,すぐに変更しなければならない。
sshd の設定(備忘録)
- RSA 認証キーの作成
Mac 側で ssh-keygen コマンドを使って .ssh/id_rsa, .ssh/id_rsa.pub を作成する。
Mac% ssh-keygen -t rsa - 鍵のコピー
Mac 側で作成した公開鍵 .ssh/id_rsa.pub を iPhone:/var/mobile/.ssh/id_rsa.pub にコピーする。
この時点では,scp がパスワード認証になっているはずなので,Mac 側から iPhone に scp をかけてコピーすることができる。
もちろんファイル名は id_rsa.pub でなくてもよい。 - 公開鍵の設置
iPhone 側の /var/mobile/.ssh/authorized_keys に公開鍵を追加する。
mobile% cat /var/mobile/.ssh/id_rsa.pub >> /var/mobile/.ssh/authorized_keys
- sshd_config のチューニング
/etc/ssh/sshd_config を設定する。sshd_config は CydiaからOpenSSHをアップデートすると上書きされる。
mobile ユーザでは変更できないので su して rootになる。
まずはバックアップを取る。mobile# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.YYYYMMDDmobile# vim /etc/ssh/sshd_config
以下が変更点。# HostKey for protocol version 1
# HostKey /etc/ssh/ssh_host_key version1は使わない
PermitRootLogin no rootユーザではログインさせない
#RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys 公開鍵方式を使う
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no パスワード認証は行わない - サービスの再起動
launchctl stop com.openssh.sshd
launchctl start com.openssh.sshd - ssh で接続できなくなってしまった場合
(iPhone上のターミナルより)sshd_configを元に戻して、サービスを再起動する。
すると,パスワード認証で繋がるので設定を見直す。
iPhone から ssh する
/etc/ssh/ssh_config がそのままではエラーになって iPhone から ssh できないようです。
バックアップを取らずに作業してしまったので,詳細は不明ですが,いくつかのエラーをコメントアウトしないと正常に ssh できません。
iPhone から ssh するニーズがどれくらいあるのか,微妙ですが取りあえずエラーが出たりできなかったりするのは気持ち悪いので書いておきました。
Tethering 情報
iPhone OS 3.1 では以下の情報でテザリングができなくなっているようです。
8月31日に tethering しました。 以下のプロファイルを入れると iPhone で tethering ができるようになります。 具体的には,以下のファイルを添付して iPhone の自分のメールアドレスに送信してください。
diff とってみましたけれど微妙に違いますね。どっちがよいのだか分かっていません。
ちなみに下の画像は Property List Editor で jp_softbank_iphonepacket_usims.mobileconfig と jp_softbank_iphonepacket_usims.mobileconfig2 とを 開いてみた時の画像です。パスワードとか微妙ですね。
一応,このデータの出所であると考えられる http://help.benm.at を見ると2番目の mobileconfig が置かれている模様です。
さらに, http://wiki.onakasuita.org/pukiwiki/?mobileconfig によると,上の mobileconfig ファイルと下の mobileconfig ファイル との違いは,Bluetooth 通信ができるか否かという違いのようです。
下の写真は,tethering しているところステータスバーの下に "Internet Tethering" と見えます。
下の写真は,Macintosh 側の Systems Preference 画面。USB で iPhone を繋いで tethering の テストをしているところ。