Synology DiskStation ds218j/ds418jで公開鍵認証を使用したSSHを使う

2018年7月8日未分類NAS, Synology, SSH, 公開鍵認証

SynologyのNAS、「DiskStation ds418j」を購入した。このNASはGUIからいろいろな操作が可能なのだが、購入時点では公開鍵認証を使用したSSHログインに対応していない。
今回はrsyncを使用してバックアップを取りたいため、毎回毎回パスワードを求められるのはごめんだ。なので、NASにログインし、公開鍵認証を使ったSSHログインに対応させる。

ds218j/ds418jでSSHを有効にする

ds218j/ds418jでSSHを有効にするのは非常に簡単で、管理画面から実施すれば終わりだ。

「コントロールパネル」の「端末とSNMP」をクリックして、「SSHサービスを有効化する」をクリックしたら終わり。

enable-ssh

SSHでログインし、ホームフォルダを作成する

SSHでログインすると、「ホームフォルダがないよ!」と怒られる。仕方がないので、ログインしたユーザー名(ここでは「user」とする)でホームフォルダを作成する。
なお、sudoを実施すると「sudoは危険だよ!」とまたしても怒られるのだが、無視してかまわない。

$ sudo mkdir /var/services/homes/user

公開鍵認証を有効にする

その後、SSHの設定ファイルを開き、ファイルを編集して公開鍵認証を有効化する。なお、編集した後に再起動をする必要はない。

$ sudo vim /etc/ssh/sshd_config

このファイルのなかで、「PubkeyAuthentication」を「yes」にし、「AuthorizedKeysFile .ssh/authorized_keys」のコメントアウトを解除する。

公開鍵を配置する

公開鍵の作成方法はいろいろなところに載っているはずなので今回はパス。
作成したファイルは、普通のLinuxと同様にホームフォルダに「.ssh」フォルダを作成し、その中の「authorized_keys」ファイルに記載をする。
最初の状態ではフォルダもファイルも存在しないので、これを作成する。

$ sudo mkdir /var/services/homes/user/.ssh
$ sudo touch /var/services/homes/user/.ssh/authorized_keys

あとはauthorized_keysをvim等で開いて公開鍵をコピーするのもよし、scp等で転送してcatするのもよし。

パーミッションを設定する

SynologyのNASでシビアなのがパーミッションの設定で、これをきちんとやってあげないとSSHでのログインが出来ない。

以下の通りやってあげれば大丈夫。

$ sudo chown -R user sudo chmod 755 /var/services/homes/user/
$ sudo chmod -R 755 /var/services/homes/user/
$ sudo chmod 700 /var/services/homes/user/.ssh
$ sudo chmod 644 /var/services/homes/user/.ssh/authorized_keys

これで、SynologyのNASに公開鍵認証でログインすることが出来る。

なお、NASの型番によってはホームフォルダの場所が異なることがあるらしい。今回はds218jとds418jでこのフォルダになっていることを確認したが、分からない場合は最初にSSHでログインをした際にpwdをして確認していただきたい。

執筆者紹介

Thir

最新のガジェットを購入してはレビューする、を繰り返しています。このブログでは、ガジェットの紹介のほか、各種サーバーやスマートホームの構築などを提供しています。最近はYouTubeでもレビュー動画やVlogをあげています。(プロフィール