大家好。我有一个运行 raid 1 的远程服务器,我使用 ssh 密钥连接到它。
我意外移动了 /root/.ssh 文件夹,需要将其放回去才能再次登录。
我租借的人提供了一个救援外壳,我可以在那里登录,但是我对操作 raid 1 阵列的了解几乎为零,所以我阅读了相关资料并尝试了这个。
mdadm -A -R /dev/md0 /dev/sdb2
挂载 /dev/md0 /mnt
这似乎工作正常(我将 .ssh 文件夹移回根目录),因此我
卸载 /mnt
mdadm -S /dev/md0
并重新启动系统,大约 40 分钟后恢复正常,但我仍然无法登录。
我再次进入,发现我所做的更改仍然在磁盘上(我将其更改为 /root/.ssh),因此我对 Web 目录进行了更改,以便我可以查看它们在我重新启动后是否有效(更改了目录的名称)当我重新启动时,目录仍然使用旧名称,因此无法识别我的更改。
我不想再尝试其他方法,因为这样会彻底毁掉整个系统。我不知道磁盘如何同步,但一切正常,而我仍然被锁定。
如果有人能告诉我处理这个问题的正确方法,我将不胜感激。
答案1
也许您在登录时遇到了一些权限问题。Openssh 在 Unix 文件系统权限执行方面非常强大。您可能需要重新检查权限,并将以下内容提供给 ssh 相关文件:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
并且 ~/.ssh 之上的任何目录都不能具有“组”或“其他”的写权限。
您可以按照以下方式仔细检查您的 raid 状态(如果分区是“Linux Raid Autodetect”类型):
mdadm --assemble --scan
cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[0] sdb2[1]
243610368 blocks [2/2] [UU]
md0 : active (auto-read-only) raid1 sda1[0] sdb1[1]
529024 blocks [2/2] [UU]
unused devices: <none>
如果出现错误,您会在这个文件中注意到。