Chienomi

ReadyNasでSFTPしたい

technique

概要

ReadyNASは、だいたいNTT-X Storeのメルマガで嫌というほど見ているNASだと思うが、NAS製品ではちょっと安めで定番である。

機能的にも充実していて使えるNASなのだが、ちょっと弱点がある。 それは、「iSCSI LUNにディスク全体の90%しか割り当てられない」ことだ。 どうも、90%以上ディスクを使わせないという考えかららしいのだが、はっきりいって10%もデッドにされるのは無駄である。

仕方ないので残り10%(3Tくらいはある)をなんとか使いたいのだが、そうなると共有ドライブということになるだろう。 まぁ、iSCSIボリューム以外に共有しない形で存在するディスクがあるとそれはそれで便利でもある。

しかし、その選択肢は、SMB, NFS, AFP, FTP, HTTP…

SFTPがない。 せっかくディスクの暗号化をしているのに、さすがに共有ディスクがネットワークから丸見えではお話にならない。 やはりSFTPがなくてはならないだろう。SFTPが使えればNemoやSSHFSも使えるし。

そこでReadyNASでSFTPを使えるようにする。 普段LinuxやSSHをよく使っている人には目新しさのないお話だ。

具体的手順

SSHDを有効にする

システム → 設定 → SSHで有効にする。 「SSHを有効にする」にチェックを入れて適用するだけで良い。 警告が出るが、続行する。

鍵を作る

ssh-keygen -f ~/.ssh/readynas_rsaという感じでいいだろう。

アカウントを用意する

アカウント → ユーザー → 新しいユーザー でユーザーを作る。 特にNFSを使う気がないのならUIDはそれほど気にする必要はないだろう。

ユーザーを作ったらユーザーを選択し、設定からSSHタブを選択。 「シェルアクセスを許可」にチェックを入れ、「公開キーのインポート」でreadynas_rsa.pubをアップロードする。 このとき、「rsyncのみ」のチェックを外すこと。

ログインして設定

これでログインできるようになった。

コントロールパネルから設定した鍵は~/.ssh/ssh_authorized_keysに入るようになっているが、このファイルは書き込みできず、~/ssh_authorized_keysも有効である。 そこで、もう1ペア鍵を作り、

$ scp -i ~/.ssh/readynas_rsa ~/.ssh/readynas_sftp_rsa.pub user@readynas:.ssh/authorized_keys

のようにコピーするのだが、その前にコピー元のファイルでcommand="internal-sftp"を手前に追加しておくといいだろう。

これでSFTPの準備は完了

~/.ssh/configに記述しておけば簡単にSFTPアクセスができるようになった。 非常に柔軟に扱うことができてとても良い。

なお、ルートディレクトリを除くとどれがドライブディレクトリかはすぐ分かると思うが、/homeもディスクアレイのbtrfsがマウントされている。 ドライブディレクトリ以下にもhomeというディレクトリがあるけれど、これは「共有」にある「ホーム」にあたるもので、別にホームディレクトリに直接ファイルを配置しても問題はなさそうだ。

なにはともあれ、とても使いやすくなってバンザイ。