2012/07/02

iOSでSSH

何やら,iOS (iPhone, iPad) でSSHログインが出来るらしいという声が聞こえてきた.まさか,,,いや,まぁ,できてもおかしくない.と思ってやってみた.

Apple storeで探すとわさわさひっかかる.条件はいつものように無料にして,素直にsshで検索してトップに出てきたzaTelnetを試してみた.ただ,試せる職場は鍵認証(SSH2限定)なので,少し障壁が高いかなと思った.が,すんなり通過.
(ただし,秘密鍵をネットワーク経由で転送するなんてあり得ないからその転送方法にしばしば悩んだ.まぁ,iTunes / iOSを使いこなせていないが故の悩みでしたが)

まず,Mac OSで新しい鍵ペアを作成.

    asteroid% ssh-keygen 
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/naotaka/.ssh/id_rsa): /Users/naotaka/.ssh/id_rsa_iOS
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /Users/naotaka/.ssh/id_rsa_iOS.
    Your public key has been saved in /Users/naotaka/.ssh/id_rsa_iOS.pub.

もちろん,passphrase設定.既存の鍵を上書きしないようにファイル名を指定.
かつ,iTunesにファイルを転送する時に,.ssh ディレクトリは開いてくれないので,open . でFinderに開く.iTunesを起動して,iPhone/iPadを選択して,Appを見るとzaTelnetがあるけど,ファイル転送ができない...(← ここがiTunes/iOS初心者)が,よく見れば,スクロールすれば,ちゃんとファイル転送のインタフェースがあった!
ファイル転送用の画面

というわけで,id_rsa_iOS (← 公開鍵ではなく秘密鍵を渡してあげる必要があるので,.pubではない)を転送.同期.そうすると,この画面の [Local] で,転送した秘密鍵を設定できる.
鍵を設定
秘密鍵をネットワークに流すのは気持ちが悪いので,[Local]位しか使いたいものがない.

zaTelnetでiPhoneからssh login! on Twitpic

これでおしまい.

これで,無線キーボード繋いだらリモート作業まで完全に出来るようになってしまうのか...恐ろしい (^^;)