Saya mengalami kesulitan masuk ke VPS yang menjalankan CentOS 5.5 menggunakan otentikasi kunci Publik. Saya bisa masuk ke akun pengguna standar dan akun root menggunakan otentikasi kata sandi. Saya menggunakan Windows dan Cygwin, semua hal Cygwin dan Windows telah berfungsi dengan baik selama berbulan-bulan; Saya yakin masalahnya adalah sisi server.
Saya telah menggunakan ssh-keygen untuk membuat kunci pribadi id_rsa dan kunci publik id_rsa.pub. Saya telah menyalin ini ke direktori pengguna di server dan selesai cat id_rsa.pub >> authorized_keys
. Direktori /home/myuser/.ssh saya disetel ke 700, file otor_keys diatur ke 600.
Saat masuk ke sistem saya melaporkan hal berikut (-vvv):
Next authentication method: publickey
Offering RSA public key /.ssh/id_rsa
send_pubkey_test
we sent a publickey packet, wait for reply
Authentications that can continue: publickey,password
Kemudian minta saya kata sandi. Dari file server / var / log / auth saya memiliki yang berikut terkait dengan proses kunci publik
sshd[28249]: input_userauth_request: try method publickey
sshd[28249]: test whether pkalg/pkblob are acceptable
sshd[28249]: mm_key_allowed entering
sshd[28249]: mm_request_send entering: type 21
sshd[28249]: mm_key_allowed: waiting for MONITOR_ANS_KEYALLOWED
sshd[28249]: mm_request_receive_expect entering: type 22
sshd[28248]: monitor_read: checking request 21
sshd[28249]: mm_request_receive entering
sshd[28248]: mm_answer_keyallowed entering
sshd[28248]: mm_answer_keyallowed: key_from_blob: 0x2b6ea1049910
sshd[28248]: temporarily_use_uid: 10022/10022 (e=0/0)
sshd[28248]: trying public key file /home/myuser/.ssh/authorized_keys
sshd[28248]: secure_filename: checking '/home/myuser/.ssh'
sshd[28248]: secure_filename: checking '/home/myuser'
sshd[28248]: secure_filename: terminating check at '/home/myuser'
sshd[28248]: restore_uid: 0/0
sshd[28248]: key not found
sshd[28248]: temporarily_use_uid: 10022/10022 (e=0/0)
sshd[28248]: trying public key file /home/myuser/.ssh/authorized_keys
sshd[28248]: secure_filename: checking '/home/myuser/.ssh'
sshd[28248]: secure_filename: checking '/home/myuser'
sshd[28248]: secure_filename: terminating check at '/home/myuser '
sshd[28248]: restore_uid: 0/0
sshd[28248]: key not found
sshd[28248]: Normalising mapped IPv4 in IPv6 address
sshd[28248]: Failed publickey for myuser from 87.115.220.187 port 59636 ssh2
Seolah tidak dapat menemukan file yang diotorisasi. Namun perintah nano /home/myuser/.ssh/authorized_keys
membuka file tanpa masalah.
Dari / etc / ssh / sshd_config:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Beberapa orang telah melaporkan bahwa jeda baris dalam file Authorized_key dapat menyebabkan masalah jadi saya sudah memastikan tidak ada (hanya 1 kunci di dalamnya). File dimulai dengan ssh-rsa
kemudian memiliki kunci panjang dan akhirnya spasi dan M1ke@M1ke-PC
.
Ada yang punya ide?
myuser
direktori juga diatur untuk700
. Tidak ingat apakah saya melakukan itu atau sudah seperti itu.myuser
memiliki semua dir dan file yang relevan di sisi server?ls -ld /home/myuser/.ssh{,/authorized_keys}
. Saya menduga bahwa mungkin pengguna tidak memiliki direktori dan file?/var/log/secure
tanpa modifikasi konfigurasi.Jawaban:
Jika Anda benar-benar melakukan ini
cat id_rsa.pub < authorized_keys
makaauthorized_keys
file Anda tidak akan berisi kunci publik untuk mencocokkan kunci pribadi yang Anda gunakan sehingga ssh kembali ke otentikasi kata sandi. Menyelesaikan masalahuntuk menambahkan kunci publik baru ke otor_keys Anda.
sumber
cat id_rsa.pub < authorized_keys
tidak menimpa apa pun. Tapi itu jelas tidak melakukan apa pun yang berguna. Saya menduga pertanyaan hanya memiliki salah ketik, menggantikan<
untuk>
.authorized_keys
file tersebut, dan itu memang mengandung (apa yang ia asumsikan) kunci publiknya.Apakah SELinux diaktifkan? Jika ya, file memerlukan konteks yang harus ditetapkan.
sumber