pengembangan-web-mp-pd.com

Tidak dapat menjalankan otentikasi kunci publik SSH

Server saya menjalankan CentOS 5.3. Saya menggunakan Mac yang menjalankan Leopard. Saya tidak tahu yang bertanggung jawab untuk ini:

Saya dapat masuk ke server saya dengan baik melalui otentikasi kata sandi. Saya telah melalui semua langkah untuk menyiapkan PKA (seperti yang dijelaskan di http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-ssh-beyondshell.html ), tetapi ketika saya menggunakan SSH, ia menolak untuk bahkan mencoba verifikasi publickey. Menggunakan perintah

ssh -vvv [email protected]

(di mana -vvv mengangkat verbosity ke level maksimum) Saya mendapatkan output relevan berikut:

debug2: key: /Users/me/.ssh/id_dsa (0x123456)
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-with-mic,password
debug3: preferred keyboard-interactive,password
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

diikuti oleh Prompt untuk kata sandi saya. Jika saya mencoba untuk memaksa masalah ini

ssh -vvv -o PreferredAuthentications=publickey [email protected]

Saya mendapat

debug2: key: /Users/me/.ssh/id_dsa (0x123456)
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-with-mic,password
debug3: preferred publickey
debug3: authmethod_lookup publickey
debug3: No more authentication methods to try.

Jadi, meskipun server mengatakan menerima metode otentikasi publickey, dan klien SSH saya bersikeras, saya ditolak. (Perhatikan tidak adanya garis "Penawaran kunci publik:" di atas.) Ada saran?

41
Trey Parkman

Periksa apakah mesin Centos Anda memiliki:

RSAAuthentication yes
PubkeyAuthentication yes

di sshd_config

dan pastikan bahwa Anda memiliki izin yang tepat pada direktori ~/.ssh/direktori mesin centos.

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/*

harus melakukan trik.

44
pyhimys

Saya memiliki masalah yang sama - PC jarak jauh tidak dapat menggunakan otentikasi kunci publik untuk masuk ke server CentOs 6. Masalah dalam kasus saya terkait SELinux - direktori home pengguna yang mencoba masuk memiliki pesan tentang konteks keamanan. Saya menyelesaikan ini dengan menggunakan alat restorecon dengan demikian:

restorecon -Rv /home
17
Gareth

1- periksa/etc/ssh/sshd_config Anda, pastikan sudah

 RSAAuthentication ya 
 PubkeyAuthentication ya 

2- memeriksa log yang aman dari mesin jarak jauh, mencari detail kesalahan sshd daemon log. misalnya di Ubuntu saya

 # grep 'sshd'/var/log/secure | grep 'Otentikasi ditolak' | tail -5 
 4 Agustus 06:20:22 xxx sshd [16860]: Otentikasi ditolak: kepemilikan buruk atau mode untuk direktori /home/xxx[.____.[Agas 4 06:20:22 xxx sshd [16860] ]: Otentikasi ditolak: kepemilikan buruk atau mode untuk direktori /home/xxx[.____.[Ag 4 06:21:21 xxx sshd [17028]: Otentikasi ditolak: kepemilikan buruk atau mode untuk direktori /home/xxx
 4 Agustus 06:21:21 xxx sshd [17028]: Otentikasi ditolak: kepemilikan buruk atau mode untuk direktori /home/xxx[.____.[Aug 4 06:27:39 xxx sshd [20362]: Otentikasi ditolak: kepemilikan buruk atau mode untuk direktori /home/xxx

Kemudian periksa kepemilikan dan mode untuk direktori/home/xxx, mungkin Anda perlu menjalankan ini

 chmod 755 /home/xxx
13
Jinyu Liu

Periksa kembali apakah izin Anda benar dan struktur file (khususnya ejaan) benar, untuk mesin lokal dan jarak jauh. URL yang Anda referensikan menyatakan semuanya, tetapi ada baiknya memeriksa apa yang Anda cocokkan. Biasanya izin akan menimbulkan kesalahan yang relevan.

Sudahkah Anda memeriksa bahwa sshd_config pada kotak CentOS 5.3 Anda diatur untuk mengizinkan PubkeyAuthentication atau RSAAuthentication?

Periksa log server SSH pada sistem CentOS - mungkin memberikan informasi lebih lanjut. Saya tidak yakin apakah CentOS melakukan kunci ssh blacklist memeriksa apakah debian melakukannya, tetapi saya telah melihat penolakan ssh publickey yang relatif diam sejauh output -vvv berjalan, tetapi log cukup jelas menjelaskan apa yang sedang terjadi

11
Daniel Lawson

Oke! Ternyata itu adalah masalah sisi klien. (Saya pikir setiap masalah sisi server akan menghasilkan keluaran debug yang lebih berguna.) Untuk alasan yang tidak saya ketahui, pada Mac saya, file/etc/ssh_config memiliki baris

PubkeyAuthentication = no

Saya berkomentar satu baris, dan sekarang semuanya berfungsi dengan baik.

7
Trey Parkman

Selain mode file/direktori, pastikan kepemilikannya benar! Seorang pengguna harus memiliki direktori home sendiri, .ssh /, dan file di dalamnya.

Saya harus menjalankan chown -R $user:$user /home/$user untuk melewati kegagalan ssh saya.

4
Visser

Kedengarannya seperti masalah konfigurasi bagi saya. Seperti yang disarankan Daniel, ada dua hal yang perlu diperiksa:

  1. Kunci SSH di $HOME/.ssh/authorized_keys dapat dibaca; dan
  2. SSHd dikonfigurasi untuk memungkinkan masuknya kunci publik.
2
sybreon

Periksa nama pengguna dengan yang Anda coba masuk. Secara default itu adalah nama pengguna Anda di mesin lokal.

2
Creotiv

Juga periksa apakah ia dapat memasok kunci secara otomatis atau tidak, gunakan jalur -i/ke/kunci jika tidak atau hanya untuk menguji

2
Jimsmithkka

saya baru saja terjebak dalam masalah yang sama mengakses dengan inti Fedora 16 hingga 5,5 sen

log dan verbose tampak persis sama

masalahnya adalah kunci publik, ia mendapatkan beberapa data palsu, memperbaruinya dan mempostingnya di sshd_server, Anda sshd_client mengirim informasi kunci tetapi tidak dikenali oleh server (itu tidak cocok dengan salah satu kunci di otor_keys)

1
Freaktor

Output dari klien seperti pada ssh -v akan mengungkapkan bahwa ada masalah pada langkah tertentu dalam protokol, tetapi ketika itu karena sesuatu di server klien tidak akan diberitahu penyebabnya. Periksa file log server untuk mencari tahu apa yang salah. Anda mungkin harus root untuk memiliki izin untuk melakukannya. Misalnya, untuk sshd dikonfigurasi untuk masuk ke syslog, Anda mungkin menemukan pesan di /var/log/secure. Seperti yang ini:

Authentication refused: bad ownership or modes for directory /home/you/.ssh
Authentication refused: bad ownership or modes for file /home/you/.ssh/authorized_keys

Alasan dalam kasus ini adalah default (bodoh) default dari 0002. Itu artinya, tulis akses untuk grup. (Groupname = nama pengguna, tetapi tetap saja.) Daemon SSH tidak akan mempercayai file yang dapat dirusak oleh orang lain selain pengguna (tentu saja, dan root). Anda dapat memecahkan masalah menggunakan chmod.

chmod 700 ~/.ssh # solve the issue
chmod 720 ~/.ssh # reproduce the issue
# or similar for a file
1
Lumi