NASサーバーReady Nas Duoにsshアクセスをする必要が生じた際の設定メモを残しておきます。
なお、sshログインのためのアドオンをインストールするとNETGEARのサポートが受けられなくなる可能性があるので、自己責任でお願いします。
ファームウェア:RAIDiator 4.1.6 [1.00a043]
1.sshログインのためのアドオンのインストール
NETGEARのアドオンのページ Add-ons for RAIDiator 4.1.3+ からページの下のほうに説明があるEnableRootSSHアドオンをインストールします。
同じページにあるToggleSSHアドオンもあわせてインストールするという記述をよく見かけますが、sshでログインするだけなら、EnableRootSSHアドオンだけで十分でした。ToggleSSHはSSHの有効/無効を切り替えるためのアドオンのようです。
(NETGEARのサポートフォーラムの記事 sshの使い方について)
これは、初期状態では、sshは機能としては有効だけど、sshでログインできるユーザーがいない状態で、EnableRootSSHをインストールすることで、rootのパスワードがadminと同じになり、ログインが可能になる、と考えれば筋が通るように思われます。
このような経緯で、今回は必要性を感じなかったので、ToggleSSHはインストールしませんでした。
アドオンのインストール方法は、NETGEARのページにあるように、最初にアドオンのローカルPCにダウンロードしておき、次にブラウザからFrontViewにアクセスして、「システム」→「アップデート」→「ローカル」を選択し、ローカルPCのファイルをアップロードします。
この際に、『アドオンイメージの互換性がありません』というメッセージが表示されますが、『システムアップデートの実行』ボタンを押して、処理を続けます。
システムの再起動を求められるので、再起動すればrootユーザーで、sshでログオンできるようになります。
(参考にしたサイト)ReadyNAS Duo (RND2000) に ssh でアクセスする
2.rootユーザー以外でのログインを許可
この時点では、root以外ではログインできません。rootでの作業は何かと気を使うので、一般ユーザーによるログインを許可して、rootでのログインを禁止しようと思います。
ssh 接続について に書かれているように、rootユーザー以外はログインシェルが/bin/falseになっており、ログインできないようになっています。
そこで、chsh (ユーザー名)として、ログインシェルに /bin/bash を指定します。
いったん、sshをログアウトして、上記のユーザーでログインできることを確認しておきます。
3.sudoを使えるようにする
デフォルトでは、sudoが使ないので、作業をしやすくするためにsudoを使えるようにします。
su -
vi /etc/sudoers
として、
(ユーザー名) ALL=(ALL) ALL
の行を追加します。下記のサイトではadminグループとしてsudo権限を追加していますが、自宅で一人で使っているNASということもあり、ログインを許可したユーザーのみがsudoを実行できるようにしました。
(参考サイト)Netgear/ReadyNAS NV+
なお、本来は、sudoersファイルの編集はvisudoコマンドで編集をするべきなのですが、ReadyNasDuoのこのファームウェアにはvisudoコマンドがないようなので、viで直接編集しました。
4.rootユーザーのsshログインの禁止
最後に、/etc/ssh/sshd_config のファイルを編集してrootユーザーのsshログインを禁止します。
sudo vi /etc/ssh/sshd_confg
として
PermitRootLogin yes
の行を
PermitRootLogin no
に変更します。
あとは、sshdを再起動して、rootでログインできなくなることを確認すればよいと思います。
さらに、suで管理者権限を取得できるユーザーを制限するなども考えられます(PAMとかの設定を変えることになると思います)が、今回はそこまで設定しませんでした。
ご参考までに。