全部产品
Search
文档中心

:Mengatasi "error while loading shared libraries: libcrypto.so.1.1" pada instans ECS Linux

更新时间:Dec 12, 2025

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

Penting

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:

  1. Untuk mencegah kehilangan data, buat snapshot dari disk sistem.

  2. Buka ECS console - Instances. Di bilah navigasi atas, pilih wilayah dan resource group yang sesuai.

  3. Klik ID instans yang bermasalah untuk membuka halaman Instance Details, lalu klik tab Block Storage.

  4. Pada kolom Actions untuk System Disk, pilih 更多 > Detach.

  5. 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:

  1. Attach disk sistem dari instans yang bermasalah ke instans yang berfungsi.

    1. Klik ID instans yang berfungsi untuk membuka halaman detailnya.

    2. Klik tab Block Storage, lalu klik Attach Cloud Disk.

    3. Pada halaman Attach Cloud Disk, pilih disk sistem yang telah di-detach di bagian Disk, lalu klik Next.

    4. Pada halaman Partition Disk and Create and Mount File Systems, pilih Configure Later.

  2. Klik Connect, lalu pilih Workbench. Ikuti petunjuk untuk masuk ke instans dan membuka terminal.

  3. Mount sistem file.

    1. Identifikasi nama partisi dari disk bermasalah.

      sudo lsblk -f
      vda                                                      
      ├─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-60ab4c3a4c78                                  

      Dalam contoh ini, vdb adalah disk bermasalah dan vdb3 adalah 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.

    2. 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 /.

      Penting

      Me-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 vdb3 ke direktori baru bernama /test, jalankan sudo mkdir /test && sudo mount /dev/vdb3 /test.
    3. 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.

  1. 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.1

    Contoh output:

    /usr/lib64/libcrypto.so.1.1

    Contoh output ini mengonfirmasi bahwa file library berada di direktori /usr/lib64/.

  2. Periksa target symbolic link.

    ll /usr/lib64/libcrypto.so.1.1

    Contoh output:

    lrwxrwxrwx. 1 root root 19 Nov 20  2024 /usr/lib64/libcrypto.so.1.1 -> libcrypto.so.1.1.1k

    Contoh ini menunjukkan bahwa libcrypto.so.1.1 adalah symbolic link yang merujuk ke file libcrypto.so.1.1.1k. Oleh karena itu, salin file libcrypto.so.1.1.1k yang berfungsi ke path yang sama pada disk bermasalah.

  3. 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/.
  4. Atur izin yang benar dan buat ulang symbolic link.

    1. 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.1k
      Berdasarkan contoh, Anda akan menjalankan sudo chmod 755 /test/usr/lib64/libcrypto.so.1.1.1k dan sudo chown root:root /test/usr/lib64/libcrypto.so.1.1.1k.
    2. Buat ulang symbolic link.

      sudo ln -sf /usr/lib64/libcrypto.so.1.1.1k <mount_directory>/usr/lib64/libcrypto.so.1.1
      Berdasarkan 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

  1. Unmount sistem file.

    Ganti <mount_directory> dengan direktori mount..

    sudo umount <mount_directory>
    Berdasarkan contoh, Anda akan menjalankan sudo umount /test.
  2. Detach disk sistem yang telah diperbaiki.

    1. Kembali ke konsol ECS dan buka halaman detail instance yang berfungsi. Klik Block Storage.

    2. Pada kolom Actions untuk disk sistem yang telah diperbaiki, klik Detach.

    3. Pada kotak dialog Detach Cloud Disk, klik OK.

  3. Attach kembali disk sistem yang telah diperbaiki ke instans sebelumnya.

    1. Buka halaman detail instans yang bermasalah, klik tab Block Storage, lalu klik Attach Cloud Disk.

    2. Pada halaman Attach Cloud Disk, pilih disk sistem yang telah diperbaiki sebagai Disk, konfigurasikan Logon Credentials, lalu klik Next.

    3. Pada halaman Partition Disk and Create and Mount File Systems, pilih Configure Later.

  4. 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 yum atau apt, untuk menginstal atau meng-uninstal perangkat lunak. Hal ini memastikan dependensi ditangani secara otomatis dan membantu mencegah kerusakan pada shared library.