CentOS mengabaikan kunci publik saya

8

Saya mencoba untuk terhubung ke server CentOS saya sendiri menggunakan SSH; Saya dapat terhubung dengan baik dengan kata sandi; Saya mencoba terhubung dengan kunci publik saya, tetapi server tidak mencoba otentikasi kunci publik. Saya telah mengikuti semua instruksi pada halaman ini di wiki CentOS, dan memverifikasi hal-hal berikut:

  • Saya menjalankan CentOS 6.0 atau yang lebih baru

  • Sshd_config saya memiliki yang berikut:

    PermitRootLogin no
    PubkeyAuthentication Yes
    RSAAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    
  • Saya telah membuat kunci pribadi di .ssh / folder di direktori rumah saya di klien

  • Teks lengkap dari kunci publik (dihasilkan oleh ssh-keygen) mengambil satu baris dalam file .ssh / authorized_keys di direktori home saya di server.
  • Saya memiliki mode izin berikut yang ditetapkan pada klien dan server:

    chmod 700 .ssh
    chmod 600 .ssh/*
    
Saya suka makanan
sumber

Jawaban:

13

Menurut laporan masalah ini di situs web CentOS, ini disebabkan oleh "fitur" hulu di SELinux; jika SELinux memberlakukan, itu akan mencegah server dari menggunakan otentikasi pubkey. Tidak ada indikasi bahwa perilaku ini akan berubah dalam waktu dekat. Untuk melihat apakah masalah ini berlaku untuk Anda, ketik sestatusdan lihat apakah ini melaporkan "Mode sekarang" sebagai enforcing.

Saya tahu dua solusi.

  • Anda dapat mengatur SELinux ke mode permisif. Ketik setenforce 0untuk mengubah kebijakan dengan segera, lalu buka /etc/selinux/configdan pastikan SELINUX=permissive.
  • Pulihkan file ke konteks keamanan yang benar:

    restorecon -R -v ~$USER/.ssh
    
Saya suka makanan
sumber
Apakah ini memang masalahnya?
Andy Shinn
Memang, meskipun sysadmin saya kemudian memberi tahu saya bahwa SELinux tidak seharusnya berjalan pada awalnya.
ILikeFood