Blog

SynologyNASを鍵認証にする2024.02.03
Note
前回、マイクラサーバーをUbuntuで起動してからターミナルソフトを起ち上げる機会が増えたのだが、いちいちユーザー名とパスフレーズを入力するのが面倒くさい……面倒くさくない?
最近はパスワードレスへの移行が勧められているし、この際なのでNASを鍵認証にしてしまおうと思う。

やり方はSynologyのチュートリアルに全部書いてあるが、自分なりに噛み砕いて備忘録として残しておく。
鍵作成
スタートボタン右クリからWindows PowerShellを起動して(管理者として実行ではない)鍵作成コマンドを実行。
作成した鍵にパスワードを設定するよう求められるが、[Enter]2回押しでパスワードなしの鍵となる。
$ ssh-keygen
id_rsa
[Enter]→[Enter]
$ exit
2行目で特にパスを指定していなければ「C:\Users\ユーザー名」「id_rsa(秘密鍵)」「id_rsa.pub(公開鍵)」というファイルが作成されているので控えておく。
公開鍵をNASにアップロードする
DSMにログインしてFireStationで「./home/.ssh」フォルダを作成し、その中に「id_rsa.pub(公開鍵)」をアップロードする。
公開鍵の登録とパーミッションの設定
TeraTermからNASにログインして先ほど作成した「./home/.ssh」のパーミッションを確認。
パーミッションが「drwx------」になっていればchmodは実行しなくてもよい。
./home
$ ll
$ chmod 700 .ssh
ディレクトリ「.ssh」に移動し、公開鍵が保存されているのを確認できたら登録する。
authorized_keysというファイルが生成されるので、パーミッションを600に設定した後、不要なファイルを削除して終了。
$ cd .ssh
$ cd ls
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ rm -fv id_rsa.pub
NASのSSHD設定
管理者権限でsuコマンドを実行。「sshd_config」というファイルの編集画面へ入る。
ここからはNASのシステムそのものを弄るので慎重に。
$ sudo su -
password
$ vi /etc/ssh/sshd_config
以下の行のコメントアウト(#)を外して有効化する(なんかミスったヤバイと思ったら[Esc]→[:q!]→[Enter]で編集を破棄して退出)
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication yes
ここをnoにするとパスワードでのログインが禁止となる。今回は触らない。
設定がミスってないか確認してからSSHDを再起動。
$ which sshd
$ /usr/bin/sshd -t
ミスってなければ何も表示されない
$ service sshd restart
以上でNAS側の設定は完了だが、なんかミスってた時のためにこのセッションは切断せずに繋げておく(最悪ログインできなくなった時にこのセッションで元に戻す)

TeraTermから秘密鍵でログインする
エクスプローラーを開き「id_rsa(秘密鍵)」を所定のパスに移動する(変更してなければ「C:/Users/ユーザー名/.ssh」
TeraTermのメニューバーから「設定」→「SSH認証」を開き、デフォルトユーザー名に「今ログインしているユーザー名」を、認証方式を「秘密鍵」にして先ほど秘密鍵を移動した場所を指定する。 これで設定できたように思えるがもうひと手間必要だった。自分はここで詰まってた。

再びメニューバーから「設定」→「設定の保存」を開き、「TERATERM.INI」という構成設定ファイルを下記フォルダに保存する。バックアップを取っておくとよい。
C:\Program Files (x86)\teraterm\TERATERM.INI

おっと、ここでセッションを切断して鍵認証を試してはいけない。
メニューバーから「ファイル」→「新しい接続」([Alt]+[n]でも可)で新しい接続を開始し、こちらで鍵認証できるか確認する。 ログインできなければどこかでミスっている。
公開鍵の登録とパーミッションの設定NASのSSHD設定が怪しいので戻って見直すか、最悪全て元に戻すこと。完璧に設定できたと確信できるまでパスワードレスにしてはいけない(戒め)

秘密鍵の管理は厳重に
鍵認証は始めての試みで、様々なサイト様を参考にしながら継ぎ接ぎで設定したのでこの記事は色々とガバいと思う。
これを機にセキュリティ意識を高めていこうと思った。



参考にさせていただいた偉大なる先駆者様方

TOP