![CentOS VM无法启动sshd](https://linux22.com/image/574777/CentOS%20VM%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8sshd.png)
首先让我坦白地说,我不是系统管理员,我们目前处于他们之间,我们的新系统管理员将在几周后开始工作。
一段时间以来,我们在 CentOS 主机上运行了多个 CentOS VM。然而,上周 VM 开始出现故障。现在,当它们启动时,sshd 无法启动。
该问题在虚拟机管理程序的内核升级的同时开始出现。我们使用 kvm + qemu。
虚拟机管理程序正在运行Linux version 2.6.32-220.4.1.el6.x86_64 ([email protected]) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #1 SMP Tue Jan 24 02:13:44 GMT 2012
其中一个问题主机正在运行Linux version 2.6.18-274.17.1.e15 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-51)) #1 SMP Tue Jan 10 17:25:58 EST 2012
手动尝试通过以下方式启动 sshd /etc/init.d/sshd start
:Starting sshd: /usr/sbin/sshd: error while loading shared libraries: /lib64/libcrypto.so.6: Invalid ELF header
答案1
“无效的 ELF 头”通常意味着有问题的库未针对您的体系结构正确编译,或者不知何故已损坏。可能需要尝试重新安装提供该库的软件包。在 CentOS 5 中,这是软件包openssl
。(请参阅http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libcrypto.so.6)
(如果您有足够的空间,我会克隆虚拟机并在克隆中尝试任何虚拟机级别的修复,或者至少快照当前映像。这可能过于偏执,但总的来说我喜欢回滚选项。)
我不清楚虚拟机管理程序内核的升级会如何导致此问题,但我承认我对 KVM 的内部结构不太熟悉。但,内核升级通常不会删除旧内核。您可以将虚拟机管理程序重新启动到旧内核吗?(您通常可以在启动菜单中选择它。)如果是这样,问题是否仍然存在?如果这样可以解决问题——内核升级背后的动机是什么?在确定问题的根本原因之前,您可以继续使用旧版本吗?