synology nas DS213 J 从 ubuntu 12.04 服务器 rsync 文件

synology nas DS213 J 从 ubuntu 12.04 服务器 rsync 文件

我有 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

并将文件“cated”到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

您可能混淆了用户名和授权密钥。

  1. “cat ~/.ssh/nas.pub >> authorized_keys” 是否真的将您的密钥放入了它应该在的“~/.ssh/authorized_keys”中,而不是“~/authorized_keys”中?

  2. 您是否尝试过从 NAS 通过 ssh(而非 rsync)连接到 Web 服务器?您使用哪个用户名从 rsync 运行 rsync/ssh?您是否将密钥放入该用户名的 .ssh/authorized_keys 中?

细节:

您应该有一个在 NAS 上运行 rsync 命令的用户。我们称他为“userNAS”。“ssh-keygen”应该由该用户运行。然后您需要该用户的公钥,/home/userNAS/.ssh/id_rsa.pub。

这一步对你来说可能没问题,我假设你使用 root 用户执行此操作。但是,从你的问题中不清楚你是如何执行“$ mkdir /root/.ssh”的,因为“$”表明你不是 root。

接下来,您需要能够通过 ssh 登录 Web 服务器。为此,您应该在 Web 服务器上有另一个用户,我们称他为“userWeb”。现在您需要将 NAS 中的“userNAS”公钥复制到 Web 服务器上用户“userWeb”的“authorized_keys”中。例如,复制到“/home/userWeb/.ssh/authorized_keys”。

现在你应该可以运行'ssh[电子邮件保护]' 在您的 NAS 上以 'userNAS' 身份登录并以用户 'userWeb' 身份登录到 Web 服务器。但是,如果 Web 服务器上的用户也是 root,则 ssh 将不允许其登录。选中 ssh 配置中的单独选项以通过 ssh 启用 root 登录。但是,不建议这样做。

最后,rsync 应该有一个选项告诉它,它应该以“userWeb”身份登录网络服务器。类似“-e ssh[电子邮件保护]:/远程/目录'

相关内容