Ubuntu

來自 ubuntu 12.04 伺服器的 synology nas DS213 J rsync 文件

  • February 3, 2014

我有一個 Synology DS213 J Nas 系統。我正在嘗試在沒有密碼提示的情況下將文件夾從 ubuntu 12.04 網路伺服器同步到 nas。因此,我使用 root 帳戶通過終端登錄了 nas。

創建了 ssh 目錄 /root/.ssh

$ mkdir /root/.ssh

  $ ssh-keygen

-> 用空的釋義

因此 ssh-copy-id 在 Synology nas 上不起作用我手動將 id_rsa.pub 複製到 ubuntu 機器

$ cat id_rsa.pub

將其複制並粘貼到 ubuntu 伺服器上

$ ~/.ssh/nas.pub

並將文件“分類”到authorized_keys

$ cat ~/.ssh/nas.pub >> authorized_keys

/etc/ssh/sshd_config 設置為

has RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

不幸的是,如果我正在嘗試 rsync,我會被要求提供空的釋義和 ubuntu 機器的密碼。有助於任何提示,

托尼

您可能混淆了使用者名和授權密鑰。

  1. ‘cat ~/.ssh/nas.pub >> authorized_keys’ 是否實際上將您的密鑰放入了應該在的 ‘~/.ssh/authorized_keys’ 中,而不是放入 ‘~/authorized_keys’ 中?
  2. 您是否嘗試過 ssh(而不是 rsync)從您的 NAS 到網路伺服器?您使用哪個使用者名從 rsync 執行 rsync/ssh?您是否將您的密鑰放入該使用者名的 .ssh/authorized_keys 中?

細節:

您應該有一個在 NAS 上執行 rsync 命令的使用者。我們稱他為“userNAS”。‘ssh-keygen’ 應該由該使用者執行。然後你需要這個使用者的公鑰,/home/userNAS/.ssh/id_rsa.pub。

這一步可能對你很有效,我假設你使用了 root 使用者。但是,從您的問題中不清楚您是如何執行的 ’ $ mkdir /root/.ssh’, as ’ $ ’ 表明你不是root。

接下來,您需要能夠在 Web 伺服器上通過 ssh 登錄。為此,您應該在網路伺服器上有另一個使用者,我們稱他為“userWeb”。現在您需要將 ‘userNAS’ 的公鑰從 NAS 複製到網路伺服器上使用者 ‘userWeb’ 的 ‘authorized_keys’ 中。例如,到 ‘/home/userWeb/.ssh/authorized_keys’。

現在您應該可以在您的 NAS 上以 ‘userNAS’ 的身份執行 ‘ssh userWeb@yourwebserver.com’ 並以使用者 ‘userWeb’ 的身份登錄網路伺服器。但是,如果您的網路伺服器上的使用者也是 root,ssh 將不允許它登錄。檢查 ssh 配置中的單獨選項以通過 ssh 啟用 root 登錄。但是,不建議這樣做。

最後,rsync 應該有一個選項告訴它,它應該在網路伺服器上以“userWeb”身份登錄。類似’-e ssh userWeb@yourwebserver.com:/remote/dir’

引用自:https://serverfault.com/questions/571836