iPhoneにsshdをインストールしました。
sshd をインストール
cydia から sshd をインストール。
sshdの基本設定。
ssh経由のアクセスを許可すると、グローバルIP*1なiPhoneはBrute Force Attack を喰らってしまう可能性があるので、パスワードログインとrootログインをオフにした。
rootのパスワードを変えるって言うのも面倒だったので公開鍵認証だけ許可するようにした
#中略 41 PermitRootLogin no #中略 60 #PasswordAuthentication yes 60 PasswordAuthentication no #中略 118 ## allow access from tethering connection 119 Match Address 172.20.10.* 120 PasswordAuthentication yes
設定は、次のことをしている。
rootパスワードを変えて忘れちゃうと目も当てられないので、以上のことを行った。
もし、sshでログインできなくなってもcydia でモバイルターミナルをインストールすれば、iPhoneにTerminalがインストールされ緊急回避できる。
自分専用のユーザを追加。
root でログインも嫌だし、mobileユーザってのも芸がない。やっぱり自分のユーザーIDを作りたいよね。
add_user.sh
#!/bin/bash printf "Enter FullNneme: " read fullname printf "Enter User Name (Login name):" read user group=$user uid=1000 gid=1000 home=/var/$user echo home=$home echo user=$user echo fullname=$fullname echo "$group:*:$gid:$user" #>> /private/etc/group echo "$user::$uid:$gid::0:0:$fullname:$home:/bin/sh" #>> /private/etc/master.passwd passwd $user mkdir $home chown $user:$group $home id $user echo user $user\($fullname\) added.
後はコレを実行して 自分の名前のユーザを追加し
root@iphone5s : bash ./add_user.sh
ユーザーが作られたことを確認
takuya@iPhone5s:~$ id uid=1000(takuya) gid=1000(takuya) groups=1000(takuya) takuya@iPhone5s:~$ pwd /var/takuya
あとは、パスワードログインだと不便なので公開鍵を登録する。
ssh-copy-id iphone5s
として公開鍵を送り込めば終わり。これでいつものユーザーでいつものSSHサーバーの出来上がり。
iOSって純粋にUNIXなので本当に楽。
仮想マシンでUNIX作らなくてもiOSで出来るんじゃね?ッて思ってしまう。
ポータブルなUNIX環境って素敵です。
あとはaptitude でインストール
cydia から aptitude をインストールすれば、いつものLinuxみたいに使えるようだ。今後試したい
ruby もあるし
takuya@takuyas-iPhone5c:~$ aptitude search ruby p ruby - optimized for developer happiness p ruby1.8.6 - optimized for developer happiness p rubygems - standard ruby package manager takuya@takuyas-iPhone5c:~$
pythonも見つかる
takuya@takuyas-iPhone5c:~$ aptitude search python p iphone-python - example applications (with source) in Python p python - architectural programming language
phpもあるし
takuya@takuyas-iPhone5c:~$ aptitude search php p php - overly popular HTML templating language p touch-lighttpd-php-mysql - iOS WebStack (Lighttpd, PHP(GD), MySQL)
MySQLもある。
takuya@takuyas-iPhone5c:~$ aptitude search mysql p com.was.mysql - world's most popular open source RDBMS p touch-lighttpd-php-mysql - iOS WebStack (Lighttpd, PHP(GD), MySQL)
Httpdもあるようだ
takuya@takuyas-iPhone5c:~$ aptitude search httpd p lighttpd - very small, supposedly fast, webserver p net.limneos.sbstogglelighttpd - Lighttpd Toggle for SBSettings p net.was.lighttpd - lighttpd toggle added to Settings app p touch-lighttpd-php-mysql - iOS WebStack (Lighttpd, PHP(GD), MySQL)
参考資料
Add user in mobileterminal (adduser/useradd)? | iPad, iPhone, and iPod touch forums | iFans
どくたーぺっぱーちぇりお 脱獄iphoneにSSH経由でユーザーを追加しちゃった
*1:最近のキャリアは網内ローカルIP割り当てるらしいですが