スポンサーリンク

Synology DS218+ ssh 公開鍵認証で接続する際の注意点

very beautiful lake landscape, extremely detailed
記事内に広告が含まれています。
スポンサーリンク

NAS Synology DS218+ について

2024年4月18日現在の最新の Synology DSM バージョンは、2024年4月8日に公開された 7.2.1-69057 Update 5です。DSM のアップデート方法は「こちらのページ 」で紹介しています。

私は Synology DS218+ という NAS を使用しています。下記の DS220+ の旧機種です。

HDD は Seagate の IronWolf 8TB x 2台 + 外付HDD 8TB で使用しています。元は 4TB x 2 台 + 外付HDD 4TB でしたが、容量が不足してきたので HDD のみ更新しました。経緯は以下の日記に記載しています。

特にトラブルなく使用しています。NAS にとっては、トラブルなく使用できている、というのが一番かと思います。用途は、

  • PC の SSD のバックアップ ... Active Backup for Business
  • ブログの元データや各種データの保管 ... ネットワークドライブ
  • Dropbox, Google Drive の PC <-> NAS <-> スマホの同期 ... Synology Drive & Cloud Sync
  • スマホの写真と動画のバックアップ ... DS Photo
  • NAS のデータを外付 HDD にバックアップ ... Hyper Backup
  • Microsoft OneDrive 1TB に同期 ... Cloud Sync

特に操作をする事無く、設定さえ済めば自動で実行されますので、バックアップに関して気にする事が少なくなり、ストレスの元を一つ消すことが出来ました。

スポンサーリンク

ssh で接続する最にトラブル

スポンサーリンク
スポンサーリンク

この日記は Lolipop! レンタルサーバーを契約して WordPress で構築しています。PageSpeed Insights でも概ね 90 以上のスコアを維持しています。

WordPress のデータは BackWPup プラグインで毎日バックアップを取っています。これを Synology DS218+ に自動でコピーして、多重バックアップしておきたいと考えています。その前段階で PC から ssh で接続しようとしました。

これまで色々と検証してきましたので、パスフレーズなしですんなり接続できると考えていましたが、少しハマってしまいました。パスワード認証では接続できますが、公開鍵認証で接続できない状態でした。

ディレクトリ、ファイルのパーミッションが異なっていた

一つずつ確認していった所、原因は単純な事でした。

[Linux]公開鍵認証でSSHログインできない時に確認する項目
目次1 サーバーに SSH ログインできない原因を調査する1.1 SSH のサービスが起動していること1.2 公開鍵が正しく設定されていること1.3 公開鍵認証が有効であること1.4 パーミッションが正しく設定されている ...

SSH に関連したフォルダは厳格なパーミッションを設定することを求められます。

具体的には
・「/home/(ユーザー名)/」のフォルダのパーミッションが「755」より厳しいこと
・「/home/(ユーザー名)/.ssh」のフォルダのパーミッションが「700」であること
・「/home/(ユーザー名)/.ssh/authorized_keys」のファイルのパーミッションが「600」であること
を確認してください。

https://www.t3a.jp/blog/infrastructure/not-ssh-login/

Synology の NAS では、/home が /var/services/homes に作成されていますが、そのパーミッションが異なっていました。

$ pwd
/var/services/homes
$ ls -l | grep hiro
drwxrwxrwx+ 1 hiro          users 308 Feb 16 19:49 hiro
$ ls -la hiro | grep ssh
drwxrwxrwx+ 1 hiro users  30 Feb 17 23:30 .ssh
$ ls -la hiro/.ssh | grep authorized_keys
-rwxrwxrwx+ 1 hiro users  99 Feb 17 23:30 authorized_keys

ssh-copy-id で公開鍵をコピーした直後の状態だと、ディレクトリもファイルも 777 でした。

此方を、引用した通りに修正します。

$ sudo -i
# pwd
/var/services/homes
# chmod 755 hiro
# chmod 700 hiro/.ssh
# chmod 600 hiro/.ssh/*

パーミッションを適切に設定すれば、公開鍵認証でログインできました。

KeePassXC に ssh の秘密鍵を登録しておけば、パスフレーズなしでログインできます。

まとめ

Synology DS218+ に ssh でログインする際に、パスワード認証ではログイン可能でしたが、公開鍵認証でのログインができない状態でした。

原因は、Synology DS218+ の home 以下のパーミッションが適切ではなかった為でした。

上記のように設定し、KeePassXC に鍵情報を記録しておけば、パスフレーズなしで Synology DS218+ にログインする事が出来ました。

これで Synology DS218+ へのログインが簡単になりました。

今回のアイキャッチ画像

Stable Diffusion WebUI で生成しました。'very beautiful lake landscape, extremely detailed' です。

コメント

タイトルとURLをコピーしました