Gitサーバー構築の前段階として「SSH接続を公開鍵方式に変更」を試みました。
が、見事に一週間ほどハマってしまったので、備忘録的な記録を残しておきます。
※ 解決した時は、本当にガックリと項垂れました。 _| ̄|○
環境について
今回の環境は下記のとおりです。
特に Synology NAS については、製品やDSMバージョンの違いにより
挙動に差があるかもしれません。
エディション | Windows 11 Pro |
バージョン | 23H2 |
OSビルド | 22631.4169 |
エクスペリエンス | Windows Feature Experience Pack 1000.22700.1034.0 |
製品 | DiskStation DS420J |
DSM バージョン | DSM 7.2.1-69057 Update 5 |
uname -a | Linux DS420J 4.4.302+ #69057 SMP Fri Jan 12 17:01:55 CST 2024 aarch64 GNU/Linux synology_rtd1296_ds420j |
実施した手順
SSH 経由で root 権限により DSM/SRM にサインインする方法は?
SSH 経由で RSA キー ペアで DSM にサインインする方法
上記 Synology ナレッジセンター の記事を参考に設定を進めました。
ただ、何度繰り返しても「ssh」コマンドで接続した際にパスワードを要求される状況で、ほとほと困ってしまいました。
<イメージ図>
PS C:\Users\●●●●\.ssh> ssh ●●●●@192.168.0.1 -p 22
●●●●@192.168.0.1's password:
.ssh フォルダや 公開鍵ファイルのパーミッションを変更しても挙動が全く変わらず、もう諦める寸前でした。
解決した方法
Synology DS218+ ssh 公開鍵認証で接続する際の注意点
たまたま見つけた上記サイトに、下記の記述がありました。
「/home/(ユーザー名)/」のフォルダのパーミッションが「755」より厳しいこと
これは今まで一度も試していませんでした。
サイト記載内容に従い、以下のようなコマンドを実行してみました。
$ pwd
/var/services/homes
$ chmod 755 ●●●●
$ chmod 700 ●●●●/.ssh
$ chmod 600 ●●●●/.ssh/*
<イメージ図>
PS C:\Users\●●●●\.ssh> ssh ●●●●@192.168.0.1 -p 22
Using terminal commands to modify system configs, execute external binary
files, add files, or install unauthorized third-party apps may lead to system
damages or unexpected behavior, or cause data loss. Make sure you are aware of
the consequences of each command and proceed at your own risk.
Warning: Data should only be stored in shared folders. Data stored elsewhere
may be deleted when the system is updated/restarted.
●●●●@DS420J:~$
なんということでしょう。
一撃で解決してしまいました。
どうやら、「ユーザーのホームフォルダ」のパーミッション変更を行っていなかったのが原因だったようです。
あとがき
今どきの NAS 管理ソフトは ほとんどの操作が GUI 化されていて、操作・設定が非常に容易です。
ただ、今回のようなケースもあるので、ベースOS(例えば Linux)の理解は やはり 必要との印象です。
この記事が、同じような事象で苦しんでいる人の参考になれば幸いです。