Linux系統(tǒng)服務(wù)器啟動啟動SSH服務(wù)時出現(xiàn)“error while loading shared libraries”錯誤
問題描述
本文主要介紹在Linux系統(tǒng)服務(wù)器啟動SSH服務(wù)時,命令行或secure日志文件出現(xiàn)類似如下的錯誤信息。
·?error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory.
·?PAM unable to dlopen(/usr/lib64/security/pam_tally.so): /usr/lib64/security/pam_tally.so: cannot open shared object file: No such file or directory.
問題原因
SSH服務(wù)的運(yùn)行依賴相關(guān)系統(tǒng)庫文件。該問題通常是由于相關(guān)庫文件異常所致,即文件丟失或權(quán)限配置異常等。
解決方案
本文僅以libcrypto.so.10庫文件異常為例進(jìn)行說明,其他庫文件處理方法類似。
查看相關(guān)庫文件的信息
1、登錄正常服務(wù)器,執(zhí)行如下命令,查看libcrypto.so.10庫文件的信息。
ll /usr/lib64/libcrypto.so.10
系統(tǒng)顯示類似如下,libcrypto.so.10庫文件是libcrypto.so.1.0.1e庫文件的軟連接。
lrwxrwxrwx. 1 root root 19 Jan 8 12:40 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.1e
2、執(zhí)行如下命令,查看libcrypto.so.1.0.1e庫文件的信息。
ll /usr/lib64/libcrypto.so.1.0.1e
系統(tǒng)顯示類似如下。
-rwxr-xr-x. 1 root root 1965856 Jan 8 03:22 /usr/lib64/libcrypto.so.1.0.1e
3、記錄正常庫文件的路徑、權(quán)限、屬組等信息,然后參閱如下方法嘗試處理。
文件查找和替換
可以先參閱如下步驟,在系統(tǒng)內(nèi)查找是否有其它有效庫文件。
1、登錄服務(wù)器
2、執(zhí)行如下命令,查找libcrypto.so.1.0.1e庫文件。
find / -name libcrypto.so.1.0.1e
3、執(zhí)行如下命令,將找到的文件拷貝到正常目錄。
cp [$File] /usr/lib64/libcrypto.so.1.0.1e
注:[$File]為上一步找到的libcrypto.so.1.0.1e庫文件絕對路徑。***
4、依次執(zhí)行如下命令,修改文件權(quán)限、所有者和所屬組。
chmod 755 /usr/lib64/libcrypto.so.1.0.1e
chown root:root /usr/lib64/libcrypto.so.1.0.1e
5、執(zhí)行如下命令,創(chuàng)建軟鏈接。
ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10
6、執(zhí)行如下命令,啟動SSH服務(wù)。
service sshd start
?
外部文件上傳
如果參考上述步驟,在系統(tǒng)內(nèi)沒有找到有效的libcrypto.so.1.0.1e庫文件。而系統(tǒng)內(nèi)FTP服務(wù)運(yùn)行正常,則可以通過如下步驟,將正常的libcrypto.so.1.0.1e庫文件上傳到服務(wù)器,然后嘗試恢復(fù)服務(wù)。
1、通過FTP軟件將其它正常服務(wù)器上的libcrypto.so.1.0.1e庫文件上傳到目標(biāo)服務(wù)器的/tmp目錄。
提示?:上傳到目標(biāo)服務(wù)器目錄以實(shí)際環(huán)境為準(zhǔn),本文以*/tmp目錄為例。**
2、執(zhí)行如下命令,將文件拷貝到正常目錄。
cp /tmp/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.1.0.1e
3、依次執(zhí)行如下命令,修改文件權(quán)限、所有者和所屬組。
chmod 755 /usr/lib64/libcrypto.so.1.0.1e
chown root:root /usr/lib64/libcrypto.so.1.0.1e
4、執(zhí)行如下命令,創(chuàng)建軟鏈接。
ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10
5、執(zhí)行如下命令,啟動SSH服務(wù)。
service sshd start
通過回滾磁盤恢復(fù)
如果上述方法均未成功,則只能通過回滾系統(tǒng)盤歷史快照的方式來進(jìn)行修復(fù)。
提示
·快照回滾會導(dǎo)致回滾之后的數(shù)據(jù)丟失,請務(wù)必確認(rèn)后再操作。
·建議按時間從近到遠(yuǎn)的順序逐一嘗試回滾快照,直至SSH服務(wù)能正常運(yùn)行。如果回滾后還是無法正常運(yùn)行SSH服務(wù),則說明相應(yīng)時間點(diǎn)的系統(tǒng)已經(jīng)出現(xiàn)異常。
感謝您的閱讀,若是想要了解更多服務(wù)器技術(shù)干貨,關(guān)注我主頁更精彩