Deskripsi Masalah
Layanan SSH gagal dimulai. Pesan error menunjukkan bahwa shared library libcrypto.so.1.1 tidak ada.
error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory.Penyebab
Layanan SSH dan modul autentikasinya memuat shared library libcrypto.so.1.1 secara dinamis saat runtime. Error ini terjadi jika file library atau file target symbolic link-nya hilang, dipindahkan, atau rusak. Tanpa dependensi ini, layanan SSH tidak dapat dimulai.
Solusi
Jika tersedia snapshot disk sistem sebelumnya, buat snapshot baru terlebih dahulu untuk me-backup data Anda saat ini. Kemudian, kembalikan disk sistem menggunakan snapshot sebelumnya dan pastikan layanan SSH dapat dimulai dengan benar.
Jika tidak tersedia snapshot sebelumnya, Anda memerlukan instans Elastic Compute Server (ECS) yang berfungsi normal dengan sistem operasi yang sama dan berada di zona yang sama dengan instans bermasalah. Anda dapat memulihkan file library yang hilang dengan attach disk sistem dari instans bermasalah ke instans tersebut.
Langkah 1: Detach disk sistem
Pastikan instans bermasalah berada dalam status Stopped, lalu ikuti langkah-langkah berikut:
Untuk mencegah kehilangan data, buat snapshot dari disk sistem.
Buka ECS console - Instances. Di bilah navigasi atas, pilih wilayah dan resource group yang sesuai.
Klik ID instans yang bermasalah untuk membuka halaman Instance Details, lalu klik tab Block Storage.
Pada kolom Actions untuk System Disk, pilih .
Pada kotak dialog Detach Cloud Disk, konfirmasi detailnya lalu klik OK. Disk berhasil di-detach saat status instans berubah menjadi No System Disk.
Langkah 2: Attach disk ke instans yang berfungsi sebagai data disk
Pastikan instans yang berfungsi berada dalam status Running, lalu ikuti langkah-langkah berikut:
Attach disk sistem dari instans yang bermasalah ke instans yang berfungsi.
Klik ID instans yang berfungsi untuk membuka halaman detailnya.
Klik tab Block Storage, lalu klik Attach Cloud Disk.
Pada halaman Attach Cloud Disk, pilih disk sistem yang telah di-detach di bagian Disk, lalu klik Next.
Pada halaman Partition Disk and Create and Mount File Systems, pilih Configure Later.
Klik Connect, lalu pilih Workbench. Ikuti petunjuk untuk masuk ke instans dan membuka terminal.
Mount sistem file.
Identifikasi nama partisi dari disk bermasalah.
sudo lsblk -fvda ├─vda1 ├─vda2 vfat 7938-FA03 /boot/efi └─vda3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 / vdb ├─vdb1 ├─vdb2 vfat 7938-FA03 └─vdb3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78Dalam contoh ini,
vdbadalah disk bermasalah danvdb3adalah partisi root yang akan di-mount. Partisi-partisi tersebut adalah sebagai berikut:vdb1/vdb2: Berisi sistem boot files. Partisi ini dapat diabaikan.vdb3: Berisi file dan data sistem operasi. Partisi ini harus dipasang.
Buat direktori dan mount sistem file.
sudo mkdir <mount_directory> && sudo mount /dev/<partition_name> <mount_directory>Parameter
Deskripsi
<partition_name>Nama partisi root dari disk bermasalah yang Anda identifikasi pada langkah sebelumnya.
<mount_directory>Path direktori kustom kosong yang diawali dengan
/.PentingMe-mount sistem file ke direktori yang tidak kosong akan membuat file sebelumnya dalam direktori tersebut tidak dapat diakses.
Sebagai contoh, untuk me-mount partisi target
vdb3ke direktori baru bernama/test, jalankansudo mkdir /test && sudo mount /dev/vdb3 /test.Verifikasi bahwa sistem file telah di-mount.
Jalankan perintah
sudo lsblk. Jika direktori mount (MOUNTPOINT) muncul untuk partisi target, berarti sistem file telah berhasil di-mount.
Langkah 3: Perbaiki file libcrypto.so.1.1
Topik ini menggunakan Alibaba Cloud Linux 3.2104 sebagai contoh. Pada instans sehat, perbaiki file shared library di path yang telah di-mount.
Cari path ke
libcrypto.so.1.1.Nama file library dapat bervariasi tergantung pada sistem operasi. Cari nama file yang muncul pada pesan error spesifik Anda.
sudo find / -name libcrypto.so.1.1Contoh output:
/usr/lib64/libcrypto.so.1.1Contoh output ini mengonfirmasi bahwa file library berada di direktori
/usr/lib64/.Periksa target symbolic link.
ll /usr/lib64/libcrypto.so.1.1Contoh output:
lrwxrwxrwx. 1 root root 19 Nov 20 2024 /usr/lib64/libcrypto.so.1.1 -> libcrypto.so.1.1.1kContoh ini menunjukkan bahwa
libcrypto.so.1.1adalah symbolic link yang merujuk ke filelibcrypto.so.1.1.1k. Oleh karena itu, salin filelibcrypto.so.1.1.1kyang berfungsi ke path yang sama pada disk bermasalah.Pulihkan file library.
Ganti
<mount_directory>dengan direktori mount yang telah Anda buat.sudo cp /usr/lib64/libcrypto.so.1.1.1k <mount_directory>/usr/lib64/Berdasarkan contoh, Anda akan menjalankan
sudo cp /usr/lib64/libcrypto.so.1.1.1k /test/usr/lib64/.Atur izin yang benar dan buat ulang symbolic link.
Atur izin dan kepemilikan file.
Ganti
<mount_directory>dengan direktori mount yang sebenarnya.# Tetapkan izin menjadi rwxr-xr-x sudo chmod 755 <mount_directory>/usr/lib64/libcrypto.so.1.1.1k # Tetapkan pemilik dan kelompok menjadi root sudo chown root:root <mount_directory>/usr/lib64/libcrypto.so.1.1.1kBerdasarkan contoh, Anda akan menjalankan
sudo chmod 755 /test/usr/lib64/libcrypto.so.1.1.1kdansudo chown root:root /test/usr/lib64/libcrypto.so.1.1.1k.Buat ulang symbolic link.
sudo ln -sf /usr/lib64/libcrypto.so.1.1.1k <mount_directory>/usr/lib64/libcrypto.so.1.1Berdasarkan contoh, Anda akan menjalankan
sudo ln -sf /usr/lib64/libcrypto.so.1.1.1k /test/usr/lib64/libcrypto.so.1.1.
Langkah 4: Attach kembali disk ke instans bermasalah sebagai disk sistem
Unmount sistem file.
Ganti
<mount_directory>dengan direktori mount..sudo umount <mount_directory>Berdasarkan contoh, Anda akan menjalankan
sudo umount /test.Detach disk sistem yang telah diperbaiki.
Kembali ke konsol ECS dan buka halaman detail instance yang berfungsi. Klik Block Storage.
Pada kolom Actions untuk disk sistem yang telah diperbaiki, klik Detach.
Pada kotak dialog Detach Cloud Disk, klik OK.
Attach kembali disk sistem yang telah diperbaiki ke instans sebelumnya.
Buka halaman detail instans yang bermasalah, klik tab Block Storage, lalu klik Attach Cloud Disk.
Pada halaman Attach Cloud Disk, pilih disk sistem yang telah diperbaiki sebagai Disk, konfigurasikan Logon Credentials, lalu klik Next.
Pada halaman Partition Disk and Create and Mount File Systems, pilih Configure Later.
Jalankan instans ECS.
Langkah 5: Verifikasi hasil
Masuk ke instans ECS yang bermasalah dan restart layanan SSH untuk memverifikasi bahwa layanan tersebut berjalan dengan benar.
Untuk menghentikan penagihan, Anda dapat melepaskan instans yang berfungsi setelah Anda memastikan layanan telah berjalan kembali.
Rekomendasi
Hati-hati saat mengelola file sistem inti: Sebelum menghapus, memindahkan, atau memodifikasi file sistem inti, selalu buat snapshot untuk me-backup data Anda. Jangan menghapus file sistem yang tidak Anda kenali.
Gunakan metode instalasi perangkat lunak standar: Selalu gunakan package manager bawaan sistem, seperti
yumatauapt, untuk menginstal atau meng-uninstal perangkat lunak. Hal ini memastikan dependensi ditangani secara otomatis dan membantu mencegah kerusakan pada shared library.
> Detach