プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

【ReadyNas Duo】 ssh設定

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で直接編集しました。

sudo による管理者権限の付与

 

4.rootユーザーのsshログインの禁止

最後に、/etc/ssh/sshd_config のファイルを編集してrootユーザーのsshログインを禁止します。

sudo vi /etc/ssh/sshd_confg

として

PermitRootLogin yes

の行を

PermitRootLogin no

に変更します。

あとは、sshdを再起動して、rootでログインできなくなることを確認すればよいと思います。

さらに、suで管理者権限を取得できるユーザーを制限するなども考えられます(PAMとかの設定を変えることになると思います)が、今回はそこまで設定しませんでした。

ご参考までに。