重启后 SSH 密钥从主文件夹中删除

重启后 SSH 密钥从主文件夹中删除

我是第一次发帖,也是大量的 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

我认为我已经找到了一个解决方案,它包括以下步骤。

  1. 由于每次重启后都会重置 /home/root,我们需要将 id_rsa 存储在一个地方,例如文件夹 /shares/private,以便每次重启后我们可以将其复制到 /home/root。

  2. 按照以下详细说明的步骤创建一个 crontab 作业https://community.wd.com/t/additions-to-crontab-reverting/98317/52。请看一下 Grauwind 的回答。

  3. 让 crontab 作业在备份到远程服务器之前将 /shares/private/id_rsa 复制到 /home/root。例如,如果您在早上 6 点备份到远程服务器,则将 crontab 作业设置为在早上 5 点将 /shares/private/id_rsa 复制到 /home/root 就足够了。

希望这可以帮助。

相关内容