我是第一次发帖,也是大量的 unix/linux 新手。
我有一台 Western Digital My Cloud NAS,它运行(我相信)某个版本的 Debian。我有一个 Rsync.net 远程备份帐户,并且想使用同步从 NAS 到远程服务器。
我有 NAS 的完整 ssh 访问权限。我已成功使用 生成公钥和私钥ssh-keygen -t rsa
,默认情况下,这些密钥放在 中/home/root/.ssh/id_rsa
。之后,我将公钥复制到远程服务器,并且可以成功远程控制无需密码即可从 NAS 进入服务器。使用同步效果很好。然后添加一个 cronjob 来每天运行 rsync bash 脚本 - 到目前为止一切顺利。
但是,重新启动时 .ssh 文件夹和所有密钥都会从/home/root/
文件夹中删除 - 我认为整个文件夹在重新启动时都会被清除,/root/
其他文件夹也是如此。
如何防止/home/root/
文件夹每次重启时重置?
或者,我认为一个好主意是为 ssh 密钥使用一个新位置,并AuthorizedKeysFile
在 sshd_config 文件中定义新文件夹。但是,除了用户共享(即/shares/
),我似乎找不到在重启时不会被清除的目录。
有任何想法吗?
答案1
我认为我已经找到了一个解决方案,它包括以下步骤。
由于每次重启后都会重置 /home/root,我们需要将 id_rsa 存储在一个地方,例如文件夹 /shares/private,以便每次重启后我们可以将其复制到 /home/root。
按照以下详细说明的步骤创建一个 crontab 作业https://community.wd.com/t/additions-to-crontab-reverting/98317/52。请看一下 Grauwind 的回答。
让 crontab 作业在备份到远程服务器之前将 /shares/private/id_rsa 复制到 /home/root。例如,如果您在早上 6 点备份到远程服务器,则将 crontab 作业设置为在早上 5 点将 /shares/private/id_rsa 复制到 /home/root 就足够了。
希望这可以帮助。