LS-WHGL/R1 を始め、BUFFALO の LinkStation や TeraStation の中身が Linux なのは有名な話。他社製品でも、NAS の類は Linux+Samba が中心に据えられていることが多い。
Linux と言えば個人的にはシェルログインしてナンボのもんなので、ウチの LS-WH2.0TGL/R1 に SSH する方法はないか探してみると、acp_commander と言うツールの存在を知った。コイツを使うと Telnet ができるようになるので、あとは SSH なり何なりお好きなように、と言うことらしい。世の中には素晴らしいツールを無償で公開してくれる素晴らしい方がいるものだ。
早速上記サイトから "acp_commander.jar" を入手して、使い方を見てみる。付属ドキュメントによると
ACP_Commander can be used to remotely control your arm9-based LS Pro/LS Live/Tera Pro v2/Tera Live.
と言うことで、恐らく LS-WHGL/R1 シリーズは "LS Pro/LS Live/Tera Pro v2/Tera Live" に含まれないと思うが、これらを修飾する "arm9-based" に期待して試してみたところ、見事に成功した。
※ 注意 ※
以下の行為により BUFFALO のサポートは受けられなくなると思うので、ご注意下さい。また失敗して LinkStation に何らかの障害が発生したり、データが破損・消失した場合も、僕は責任を負いません。お試しになる際は、あくまでも自己責任でお願いします(僕の環境では上手く行ってます)。
まずこの acp_commander は Java プログラムなので、Java のランタイムが必要になる。Java ランタイムがない場合は、この辺りからインストールしておく。
下準備ができれば、あとは実行するだけ。付属ドキュメントや他のサイトを見ると、使い方は概ねこんな感じだ。
- Windows でコマンドプロンプトを起動。
- acp_commander.jar ファイルを置いたフォルダーに移動。
> cd <任意のフォルダー> - LS-WHGL の Telnet を有効化。
> java -jar acp_commander.jar -t <LinkStation の IP アドレス> -o - LS-WHGL に Telnet 接続。
> telnet <LinkStation の IP アドレス> - root のパスワードを設定。(ここから LinkStation 上の Linux 操作)
# passwd <任意のパスワード> - sshd が自動起動するように設定。
# echo "/usr/local/sbin/sshd &" >> /etc/init.d/rcS - sshd を起動。
# /usr/local/sbin/sshd
これで以後はパスワード認証を利用した SSH 接続が可能になるので、Tera Term でも何でも、使い慣れた SSH クライアントで好きなように操作できる。busybox を使っている関係上、コマンドのオプション等で多少勝手が違う部分があるが、やはりシェルログインできる意義は大きい。Linux はこうでなくては。秘密鍵を使いたい場合は、通常の Linux 同様に ssh-keygen で生成する。
尚、LinkStation を再起動しても上記設定は残るが、ファームウェアをアップデートすると元に戻ってしまうので、その場合は改めて acp_commander からやり直せば OK。
しかしこんな具合にカスタマイズができると、益々 NFS サーバー化の野望が沸き起こって来る。いずれ何とかしてみたいものだ。