pengembangan-web-mp-pd.com

Bagaimana memulihkan dari "Terlalu banyak Kegagalan Otentikasi untuk root pengguna"

Saya telah melakukan beberapa upaya untuk membangun SSH-connecton untuk user root @ Host menggunakan terminal Putty. Sambil melakukan itu saya menentukan kredensial yang salah beberapa kali dan setelah itu saya telah menentukannya dengan benar, dan kemudian setelah kredensial diterima, sesi ssh terputus dengan

+ Msgstr "Server koneksi jaringan yang tidak terduga ditutup".

Kesalahan ini dilaporkan oleh terminal Putty. Ketika mencoba ssh root @ localhost dari konsol lokal - itu berfungsi dengan baik. Ini juga berfungsi dengan baik ketika saya ssh otheruser @ Host dari Host lain. Jadi masalah konektivitas jaringan tidak bersalah. Satu-satunya kesalahan yang saya pikirkan adalah: "Terlalu banyak Kegagalan Otentikasi untuk root pengguna" meskipun PuTTY melaporkan kesalahan yang berbeda.

Pertanyaannya adalah: bagaimana memulihkan dari kondisi kesalahan ini dan membiarkan Putty login lagi? Restart sshd tampaknya tidak membantu

70
user11722

Apakah Anda yakin bahwa login root ke ssh diizinkan?

Periksa sshd_config dan verifikasi bahwa login root diizinkan. sshd perlu di-restart jika pengaturan berubah.

8
damorg

"Terlalu banyak Kegagalan Otentikasi untuk root pengguna" berarti bahwa server SSH Anda batas MaxAuthTries terlampaui. Itu terjadi sehingga klien Anda mencoba untuk mengotentikasi dengan semua kunci yang mungkin disimpan di /home/USER/.ssh/.

Situasi ini dapat diselesaikan dengan cara-cara ini:

  1. ssh - i/path/to/id_rsa root @ Host
  2. Tetapkan Host/IdentityFile pasangan dalam / home/USER/.ssh/config.
    • Host host
    • IdentityFile /home/USER/.ssh/id_rsa
    • Host host2
    • IdentityFile /home/USER/.ssh/id_rsa2
  3. Tingkatkan MaxAuthTries nilai pada server SSH di / etc/ssh/sshd_config (tidak disarankan).
128
Peta Sittek

Jika Anda mendapatkan Galat SSH berikut:

$ Received disconnect from Host: 2: Too many authentication failures for root

Ini bisa terjadi jika Anda memiliki (default di sistem saya) lima atau lebih file identitas DSA/RSA yang disimpan dalam .ssh direktori. Dalam hal ini jika -i pilihan tidak ditentukan pada baris perintah klien ssh pertama akan mencoba untuk login menggunakan setiap identitas (kunci pribadi) dan Prompt berikutnya untuk otentikasi kata sandi. Namun, sshd menjatuhkan koneksi setelah lima upaya login yang buruk (lagi-lagi default dapat bervariasi).

Jadi jika Anda memiliki sejumlah kunci pribadi di direktori .ssh Anda, Anda dapat menonaktifkan Public Key Authentication pada baris perintah menggunakan -o argumen opsional.

Sebagai contoh:

$ ssh -o PubkeyAuthentication=no [email protected]
98
Will Verna

Pada mesin remote buka /etc/sshd_config dan ubah nilainya

MaxAuthTries 30

Ini adalah masalah umum ketika Anda telah menginstal beberapa kunci atau membuka beberapa koneksi. Server memeriksa langkah demi langkah setiap tombol dan jika MaxAuthTries diatur pada 3 maka setelah percobaan ketiga akan memutuskan Anda. Keamanan ssh yang khas.

Saya sarankan Anda untuk menggunakan mode verbose selama koneksi ke mesin jarak jauh untuk menganalisis masalah.

ssh -v -p port_number user @ servername

Menebak seperti kebanyakan poeple di forum ini adalah SALAH dan membuang-buang waktu. Pertama mencoba menganalisis masalah, mengumpulkan informasi dan kemudian bertanya.

Selamat bersenang-senang.

17
user59664

Bagi saya masalah ini diselesaikan dengan membuat ssh_config di bawah ini untuk Host yang saya sambungkan.

(~/.ssh/config)

Host example
HostName example.com
User admin
IdentityFile ~/path/to/ssh_key_rsa
IdentitiesOnly=yes

Masalahnya terjadi karena saya memiliki terlalu banyak kunci ssh di ~/.ssh folder, seperti 16 atau lebih. Dan tanpa keduanya IdentityFile DAN IdentitiesOnly arahan dalam konfigurasi, mesin saya tampaknya mencoba semua kunci di ~/.ssh dan mencapai jumlah upaya maksimum sebelum mencoba IdentityFile yang benar.

15
Ninjaxor

Ini praktik buruk. Hanya memiliki pengguna biasa di kotak remote dan terhubung melalui ssh menggunakannya, kemudian dapatkan akses root menggunakan su/Sudo.

12
Anonymous

Saya juga menghadapi masalah yang sama. Ini dapat dengan mudah terjadi jika Anda menggunakan Pageant dan memiliki sejumlah besar kunci yang dimasukkan ke dalamnya , karena server ini menghitung setiap penawaran kunci publik sebagai upaya otentikasi.

(Nasihat ini diambil dari di sini .)

6

Saya akan merekomendasikan Anda, seperti Anon di atas diposting, gunakan pengguna lain untuk mendapatkan akses ssh kemudian gunakan perintah su untuk mendapatkan akses root.

Pastikan juga untuk mengaktifkan PermitRootLogin di /etc/ssh/sshd_config file di server.

6
Rodent43

Saya memperbaiki masalah ini di sistem saya dengan menjalankan perintah berikut:

eval $(ssh-agent)
ssh-add  ~/.ssh/keyname

Kemudian coba ssh di mesin remote

5
Sunil shakya

Untuk sementara waktu mengatasi masalah ini sampai semuanya dapat diatasi sepenuhnya seperti yang disebutkan di tempat lain, Anda dapat mengatur ulang penghitungan PAM pengguna sehingga mereka dapat mencoba lagi:

pam_tally --reset --user <USERNAME>
pam_tally2 --reset --user <USERNAME>
3
andyfeller

Saya digigit oleh masalah yang sama. Namun penyebab sebenarnya adalah saya memiliki ForwardAgent yes dalam file konfigurasi mesin di sepanjang pipa. Saya menghubungkan dari mesin A ke mesin B ke mesin C.

Pesan kesalahan ditampilkan dalam upaya ssh dari B -> C, tetapi itu disebabkan oleh A yang memiliki penerusan aktif. Jadi C pertama-tama melayani semua kunci dari A, dan hanya kemudian yang dari B.

Tiba-tiba muncul ketika saya menambahkan satu lagi kunci ke A.

2
Igor Stoppa

Saya memperbaiki masalah ini di Mac saya dengan:

  1. mengatur kata sandi root dengan "Sudo passwd root" lalu
  2. mengedit dan menyimpan file konfigurasi ssh dengan "nano/etc/ssh_config" dan
  3. mengubah RSAAuthentication ke "tidak" daripada ya.
1
tallbr00

Jawaban lain memberi tahu Anda cara terbaik untuk terhubung sebagai root, dan implikasi keamanannya, tetapi pertanyaan eksplisit Anda adalah

bagaimana memulihkan dari kondisi kesalahan ini dan membiarkan Putty login lagi?

Anda menyebutkan pada saat terakhir kali Anda terhubung maka server jauh menjatuhkan koneksi.

Apa yang saya pikir Anda mungkin temukan adalah bahwa server jauh menjalankan fail2ban (*) dan itu "memenjarakan" IP Anda setelah login sukses Anda. Anda dapat menguji ini dengan mencoba masuk lagi, dan Anda bahkan tidak akan mendapatkan Prompt login.

Ada dua solusi, Anda bisa menunggu waktu penjara, di mana semuanya kembali normal, tetapi waktu penjara bisa apa saja. Atau Anda dapat menemukan komputer yang berbeda untuk login, lakukan itu dan "batalkan" IP Anda, dalam hal ini "berbeda" adalah dari sudut pandang server jarak jauh, sehingga komputer lain di belakang firewall yang sama mungkin tidak akan berfungsi dengan baik .

(*) fail2ban adalah daemon super berguna yang secara berkala dapat memeriksa berbagai file log dan menyesuaikan aturan firewall untuk membuat server "menghilang" ketika mendeteksi perilaku yang berpotensi berbahaya dari klien. Pada debian, itu keluar dari kotak yang dikonfigurasi untuk mendeteksi beberapa login ssh gagal dari IP tertentu, dan setelah 3 (saya pikir) itu akan menjatuhkan semua paket dari IP itu. Berfungsi dengan sangat baik untuk menghentikan serangan-serangan brute force yang dituliskan itu.

0
Sufferer

Saya menyelesaikan masalah ini dengan dua langkah sederhana di server Ubuntu 16.04 saya -

Pertama-tama hentikan server vnc saya atau matikan prosesnya -

vncserver -kill :1

dan kemudian mulai lagi -

vncserver

Setelah itu hubungkan dari Remote Desktop client -

999.99.99.99:5901

Selesai !!

0
Rajnesh Thakur

OK, jadi dalam kasus saya ini sangat aneh, ini dia ...

Saya memiliki gelandangan standar VM dengan kunci SSH dan saya dapat SSH ke dalamnya menggunakan Putty. Saat mencoba untuk mendapatkannya selama penyebaran di PHPStorm saya mendapatkan kesalahan too many authentication failures. Jadi saya meningkatkan MaxAuthTries di sshd_config saya dan kemudian saya mendapatkan kesalahan Auth failed dan kemudian Auth cancel.

Sekarang, saya tidak tahu persis mengapa saya bahkan mencoba ini tetapi ... Saya menambahkan titik di akhir jalur kunci SSH saya di jendela penempatan di PHPStorm. Jadi seperti ini:

C:\Users\Deadpool\\.ssh\chimichanga

dan sekarang seperti ini:

C:\Users\Deadpool\\.ssh\chimichanga.

Dan itu berfungsi ... Dalam folder ".ssh" saya, saya memiliki lebih banyak file:

chimichanga - copy of "id_rsa" from vagrant machine
chimichanga.ppk
chimichanga.pub

Saya tidak yakin apa yang dilakukan dot fcuking itu tetapi menggunakan file .ppk Tidak berfungsi, jadi saya kira itu semacam sihir;) Oh, dan saya bisa menyingkirkan MaxAuthTries setelah "dot trick" itu.

0
Adam Witorean

Seperti @sufferer sebutkan dalam jawaban lain, beberapa distro Linux menyertakan monitor untuk melindungi dari serangan brute force pada layanan terlihat eksternal seperti SSH, misalnya DenyHosts atau fail2ban. Monitor ini memeriksa file log yang mencari upaya gagal dan menambahkan filter untuk memblokir alamat IP yang memiliki terlalu banyak kegagalan (jumlahnya dapat dikonfigurasi dan independen dari konfigurasi sshd).

Jika distro Anda termasuk fail2ban, yang melindungi layanan yang menambahkan aturan ke firewall iptables, Anda dapat memeriksa layanan atau "penjara" mana yang diawasi menggunakan perintah:

Sudo fail2ban-client status

Penjara untuk layanan SSH adalah sshd, jadi untuk memeriksa apakah ada IP yang diblokir, Anda dapat menggunakan:

Sudo fail2ban-client status sshd

dan untuk membatalkan beberapa IP a.b.c.d:

Sudo fail2ban-client set sshd unbanip a.b.c.d

Jika Anda memiliki DenyHosts, daftar yang terlarang ada di file /etc/hosts.deny; Anda dapat mengedit file ini secara langsung sebagai root. Untuk memberikan beberapa IP akses permanen a.b.c.d, Anda dapat menambahkan baris sshd:a.b.c.d ke file /etc/hosts.allow.

Seperti biasa, perintah man adalah teman Anda:

man fail2ban
man hosts.deny

Seharusnya ada utilitas serupa lainnya, tetapi saya hanya menggunakan ini.

Perhatikan bahwa meningkatkan jumlah percobaan ulang yang diizinkan dalam konfigurasi sshd tidak membebaskan IP yang diblokir, hanya memungkinkan lebih banyak kegagalan dalam koneksi yang sama. Jika jumlah yang diizinkan terlampaui, pengguna/penyerang hanya menghubungkan kembali lagi untuk mencoba n kali lebih banyak.

Layanan lain memiliki daftar larangan terintegrasi (seperti yang ditunjukkan dalam jawaban Rajnesh Thakur tentang memulai kembali server VNC).

0
Fjor