我正在运行RHEL 6.0,并且意外地将/ bin,/ boot,/ cgroup,console.txt,/ data,/ dev,/ etc移到了另一个文件夹中。 我想我设法把这些文件夹移回去,但现在我无法使用SSH连接到服务器,但能够通过VNC访问服务器。
当我尝试使用另一台服务器的terminal连接到服务器时,出现错误
ssh_exchange_identification: Connection closed by remote host
我目前仍然通过SSH连接到服务器(还没有closures窗口),我仍然能够正常访问它。 但是,如果我尝试从当前会话中打开一个新的SSHterminal,我可以看到
/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
这与输出的path是一样的
locate sftp-server
另外,当我试图重新启动sshd,我得到的错误
Couldn't open /dev/null: Permission denied
但是我的/ dev / null有权限
crw-rw-rw-
为根,根。
我该如何解决这个问题?
ETA:感谢您的帮助! 我能够通过直接运行应用程序来启动ssh
/usr/sbin/sshd
即使openssh-daemon的状态仍然是“停止”的。
不幸的是,这里最好的做法是重新安装操作系统。 理论上可以修复这个特定的权限错误,但是你仍然有数百个其他的文件和文件夹处于一个未知的状态,任何一个都可能在将来导致错误。
这是您回到一个稳定可靠的系统的唯一途径。
正如其他人所说,完全恢复系统的唯一安全方法是从备份恢复。
如果你不能这样做,你可以检查RPM DB( rpm -Va )来查看哪些文件仍然丢失和/或是否有错误的权限。
请参阅这篇文章,以及如何使用rpm恢复权限。
祝你好运。
由于事情显然不是按照应有的方式工作的,而且您也不确定是否已经彻底解除了因移动而造成的任何损害,所以我认为在这一点上唯一合理的行动方式是从备份恢复系统。 其他任何事情都可能使系统处于不可预知的状态。