我正在运行 RHEL 6.0,我不小心将 /bin、/boot、/cgroup、console.txt、/data、/dev、/etc 移到了另一个文件夹。我想我已经设法将这些文件夹移回原位,但现在我无法使用 SSH 连接到服务器,但可以通过 VNC 访问服务器。
当我尝试使用另一台服务器的终端连接到服务器时,出现错误
ssh_exchange_identification: Connection closed by remote host
我目前仍通过 SSH 连接到服务器(尚未关闭窗口),并且仍能正常访问。但如果我尝试从当前会话打开新的 SSH 终端,我会看到
/bin/bash: Permission denied
如果我尝试从当前会话打开一个新的 SSH 文件传输窗口,我会收到错误
File transfer server could not be started or it exited unexpectedly.
Exit value 0 was returned. Most likely the sftp-server is not in the path of the user on the server-side
我检查过了
Subsystem sftp /usr/libexec/openssh/sftp-server
与输出的路径相同
locate sftp-server
此外,当我尝试重新启动 sshd 时,出现错误
Couldn't open /dev/null: Permission denied
但是我的 /dev/null 有权限
crw-rw-rw-
对于根,根。
我该如何解决这个问题?
ETA:感谢您的帮助!我可以通过直接运行应用程序来启动 ssh
/usr/sbin/sshd
即使 openssh-daemon 的状态仍然是“停止”。
答案1
不幸的是,您最好的做法是重新安装操作系统。理论上,修复这个特定的权限错误是可能的,但您仍然有数百个处于未知状态的其他文件和文件夹,其中任何一个都可能导致将来出现故障。
这是恢复稳定、可靠系统的唯一途径。
答案2
答案3
由于事情显然没有按预期进行,而且您不确定是否已经完全消除了因移动东西而造成的任何损害,我建议此时唯一明智的做法是从备份中恢复系统。任何其他做法都可能使您的系统处于不可预测的状态。