Kobo Touch に SSH でアクセス可能にする
telnet は安全とは言えませんので、SSH でアクセスできるようにします。
OpenSSH サーバの準備
http://maemo.org/packages/view/dropbear/ から「Diablo Extras free armel」の .deb をダウンロードします。
http://maemo.org/packages/view/openssh-server/ から「Diablo Extras free armel」の .deb をダウンロードします。
具体的には以下のファイルをダウンロードしました。
- http://repository.maemo.org/extras/pool/diablo/free/d/dropbear/dropbear_0.52-2_armel.deb
- http://repository.maemo.org/extras/pool/diablo/free/o/openssh/openssh-server_4.7p1-12.maemo2_armel.deb
基本的に Dropbear を使いますが、Dropbear には sftp-server がないので、OpenSSH から拝借します。
Kobo にインストールするためにファイルを取り出します。
$ mkdir dropbear $ cd dropbear $ ar x ../dropbear_0.52-2_armel.deb data.tar.gz $ tar xf data.tar.gz
確認しておきましょう。
$ ls data.tar.gz etc usr
$ cd .. $ mkdir openssh $ cd openssh $ ar x ../openssh-server_4.7p1-12.maemo2_armel.deb data.tar.gz $ tar xf data.tar.gz
確認しておきましょう。
$ ls data.tar.gz etc usr var
OpenSSH の sftp-server を Dropbear にコピーします。
$ cd .. $ cp -p openssh/usr/lib/sftp-server dropbear/usr/lib/
自分の公開鍵を authorized_keys に登録しておきます。
$ cd dropbear $ mkdir -p root/.ssh $ cp ~/.ssh/id_dsa.pub root/.ssh/authorized_keys
KoboRoot.tgz としてまとめます。
$ tar czf KoboRoot.tgz usr/{bin,lib,sbin} root
Dropbear のインストール
Kobo を USB 接続して、作成した KoboRoot.tgz を転送します。
$ cp KoboRoot.tgz /media/KOBOeReader/.kobo/
Kobo をアンマウントして USB ケーブルを抜きます。
Dropbear の設定
Kobo に telnet し、以下のコマンドを実行するか、telnet の時に用意した ruh.sh に以下を記述して実行します。
mkdir -p /etc/dropbear cd /etc/dropbear test -f rsa_host_key || dropbearkey -t rsa -f rsa_host_key test -f dss_host_key || dropbearkey -t dss -f dss_host_key if ! grep -l dropbear /etc/inittab; then echo '::respawn:/usr/sbin/dropbear -d /etc/dropbear/dss_host_key -r /etc/dropbear/rsa_host_key -F -s' >>/etc/inittab fi cp -p /etc/passwd /mnt/onboard/passwd.bk sed -i 's/^root::/root:*:/' /etc/passwd sed -i 's/:root:\/:/:root:\/root:/' /etc/passwd chown -R root:root /root chmod 700 /root chmod 700 /root/.ssh chmod 600 /root/.ssh/authorized_keys sync kill -1 1
root のホームディレクトリおよびパーミッションを上記のように正しく設定しないと ssh 接続できません。
dropbear のオプション -s はパスワード認証の禁止です。
これで、Kobo に ssh と scp、そして sftp できるようになります。sftp は sshfs を使うためです。