Pertanyaan cara menonaktifkan SSH login dengan kata sandi untuk beberapa pengguna?


Di Linux (Debian Squeeze) Saya ingin menonaktifkan SSH login menggunakan kata sandi untuk beberapa pengguna (grup yang dipilih atau semua pengguna kecuali root). Tapi saya tidak ingin menonaktifkan login menggunakan sertifikat untuk mereka.

edit: terima kasih banyak untuk jawaban rinci! Untuk beberapa alasan ini tidak berfungsi di server saya:

Match User !root
PasswordAuthentication no

... tetapi dapat dengan mudah digantikan oleh

PasswordAuthentication no
Match User root
PasswordAuthentication yes

145
2018-06-30 14:31




Mungkin karena lekukanmu? - nil
Ini perlu disebutkan bahwa garis-garis di bawah pertandingan harus berada di ujung file - zidarsk8
Root juga tidak berfungsi untuk saya. Pendekatan kedua berhasil. - natenho
Saya pernah melihat kasus di mana Match User "!root,*" melakukan pekerjaan itu. - Roman Hocke


Jawaban:


Mencoba Match di sshd_config:

Match User user1,user2,user3,user4
    PasswordAuthentication no

Atau berdasarkan grup:

Match Group users
    PasswordAuthentication no

Atau, seperti yang disebutkan dalam komentar, dengan negasi:

Match User !root
    PasswordAuthentication no

Perhatikan bahwa pertandingan itu efektif "sampai ada lagi Match line atau akhir dari file." (lekukannya tidak signifikan)


156
2018-06-30 16:13



lebih suka Match user !root Untuk kasus ini - 84104
Luar biasa, saya tidak tahu tentang sintaks Match. Satu saran saya akan buat, meskipun, adalah jika ini adalah server yang menghadap publik, saya tidak akan mengizinkan login root melalui SSH sama sekali. Mungkin bukan masalah besar kalau Internal sih .. - Safado
@SpacemanSpiff Itulah yang dimaksud dengan) password yang kuat dan b) rejecthosts / fail2ban. - ceejayoz
@ deed02392 Anda dapat mempertimbangkan kunci untuk menjadi kata sandi yang sangat, sangat kuat jika Anda suka. - ceejayoz
Ini jauh lebih kuat itu tidak di taman-bola yang sama, itulah maksud saya. Otentikasi kata sandi juga harus dinonaktifkan untuk root dan kunci hanya diizinkan untuk login. - deed02392


Match di sshd_config bekerja dengan baik. Kamu harus menggunakan Match all untuk mengakhiri blok pertandingan jika Anda menggunakan openssh 6.5p1 atau lebih baru. Contoh:

PasswordAuthentication no
Match User root
PasswordAuthentication yes
Match all

12
2017-11-27 22:13





Ada beberapa cara yang dapat Anda lakukan - pertama, Anda dapat menjalankan dasmon sshd kedua pada port yang berbeda dengan konfigurasi yang berbeda - ini sedikit meretas, tetapi dengan beberapa pekerjaan chroot, ia seharusnya bekerja dengan baik.

Juga, Anda dapat mengizinkan otentikasi kata sandi, tetapi mengunci kata sandi untuk semua kecuali satu pengguna. Para pengguna dengan kata sandi yang terkunci masih akan ada dapat mengotentikasi dengan kunci publik.


1
2018-06-30 15:42





Anda cukup pergi ke file / etc / ssh / sshd_config dan tambahkan satu baris Untuk memperbolehkan -> pengguna AllowUsers1 Untuk Deny ---> DenyUsers user2

kita dapat memperbolehkan / menolak login untuk kumpulan host tertentu menggunakan file hosts.allow atau hosts.deny yang terletak di folder / etc


-1
2018-03-04 06:10