[教學][NAS] Synology NAS SSH 免密碼登入

因為會將主機定期備份至 NAS,因此有傳送備份的需求,研究了一下考慮透過 SSH Rsync 的方法。
基本的原理要透過 SSH 執行,但把密碼明碼寫在 script 裡頗不安全,因此便打算透過 SSH authorized_keys 的方法,便可以免密碼登入

詳細教學可以看這篇:免密碼登入ssh

但設定好了主機連至 NAS 的金鑰後,在使用非 root 帳號,並有將帳號加入至 admin group 之後,無論怎樣都無法透過 key 登入成功,變研究了問題與解法:

解決方法

我們的目的是在主機透過 SSH 免密碼連線至 Synology NAS,以下稱主機和 NAS

步驟一:

NAS 開啟 SSH 功能及對應的 Port
欲使用的 NAS user 有加入 admin group 並可執行 SSH 服務 教學

步驟二:產生公鑰

  1. 在主機上按照步驟產生 public key (id_rsa.pub) 並透過 SCP 等方式傳送至 NAS
  2. 將 public key 加入至 ~/.ssh/authorized_keys (你自己 home directory 下的 .ssh 資料夾內)
    可以參考這篇

並將 你自己 Home Folder 底下的 .ssh 資料夾權限也一併更改

步驟三:更改資料夾權限

透過 SSH 及密碼連線至 NAS 後,執行以下動作
將你的 username 資料夾權限改成 755,使其他服務,例如 sshd 可讀並執行
不然預設 sshd 是無法存取你的 authorized_keys

並將 你自己 Home Folder 底下的 .ssh 資料夾權限也一併更改

並按照 SSH 那篇教學加入上傳的 key

步驟四:更改 sshd 設定

更改 /etc/ssh/sshd_config 裡的設定, Synology NAS 預設並無開啟 authorized_keys 登入功能

先以 vim 指令搭配管理員權限來編輯 sshd_config 檔案:

以 vim 開啟後,找到以下三行並取消註解 (刪除行前 # 字號,按 i 更動,esc 完成,詳細請查詢 vim 指令)

以 :wq 結束檔案編輯

步驟五:重啟 SSH 服務

Synology ssh 服務重起指令比較特別:

如果遇到更改後 connection refuse,去控制台終端機,將 SSH 開關關閉儲存後再開啟儲存即可
如此,你便能成功的免密碼登入 NAS 了!

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料