Pemesanan Otentikasi dengan SSH


22

Ketika saya masuk melalui ssh dengan -vsaya melihat ssh mengotentikasi dengan cara berikut

debug1: Authentications that can continue: publickey,gssapi-with-mic,password,hostbased

Saya ingin mengubah urutan ... ada yang tahu bagaimana?

Masalah saya yang lebih besar adalah pengguna dengan akun yang dikunci, masih bisa masuk melalui kunci publik. Saya telah menemukan bahwa saya dapat menambahkan pengguna ke grup "ssh-locked" tambahkan sangkal kelompok itu dari sshing, tapi saya masih bertanya-tanya apakah ada cara untuk mengatakan ssh: Silakan periksa kata sandi sebelum kunci ...


1
Saya pikir Anda mendekati ini dengan cara yang salah - kunci (biasanya) lebih aman daripada kata sandi. Jika akun dikunci, Anda perlu memberi tahu daemon sshd untuk tidak membiarkan pengguna masuk terlepas dari metode autentikasi.
EightBitTony

Seperti yang saya katakan, saya menemukan solusi, melalui DenyGroups. Saya memintanya demi kepentingan.
Oz123

Jawaban:


31

Server ssh memutuskan opsi otentikasi mana yang dibolehkan, klien ssh dapat dikonfigurasi untuk memutuskan cara mencobanya.

Klien ssh menggunakan PreferredAuthenticationsopsi dalam file konfigurasi ssh untuk menentukan ini.

Dari man ssh_config( lihat online di sini ):

PreferredAuthentications
             Specifies the order in which the client should try protocol 2 authentication methods.  This allows a client to prefer
             one method (e.g. keyboard-interactive) over another method (e.g. password).  The default is:

                   gssapi-with-mic,hostbased,publickey,
                   keyboard-interactive,password

Saya tidak percaya itu mungkin, tanpa bermain-main dengan sumbernya, untuk memberi tahu server OpenSSH untuk memilih pesanan tertentu - jika Anda memikirkannya, toh itu tidak masuk akal juga.


Jika Anda menggunakan Git Bash untuk Windows, simpan konfigurasi ssh Anda untuk~/.ssh/config
Spencer Williams

Urutan bisa masuk akal jika satu metode tergantung pada yang sebelumnya. Misalnya 2FA di bawah keyboard-interaktif mungkin tergantung pada pengguna yang pertama kali memberikan kata sandi yang valid.
steveayre

Bisakah Anda memposting sumber tempat Anda menyalin-paste informasi PreferredAuthentications di atas? Saya tidak melihatnya man ssh, atau di /etc/ssh/ssh_config, atau di /etc/ssh/sshd_config. darimana kamu mendapatkan informasi ini?
Gabriel Staples

Menemukannya! Itu di man ssh_config. Saya mengirimkan suntingan untuk ditinjau untuk memperbarui jawaban Anda agar mengandung sumber ini. Silakan kutip sumber lain kali! Terimakasih banyak.
Gabriel Staples

18

Menambahkan ini:

PreferredAuthentications keyboard-interactive,password,publickey,hostbased,gssapi-with-mic

... untuk saya /etc/ssh/ssh_configmembantu saya menyelesaikan ini, dan menghemat banyak waktu juga!

Anda dapat memeriksa apakah itu bekerja dengan menggunakan ssh -v user@hostperintah untuk menghubungkan, di mana -vsingkatan dari "verbose".


2
Pastikan Anda menambahkan ini ke file yang benar ssh_configdan tidak sshd_config. Yang terakhir akan menyebabkan ssh Anda gagal!
Oranges13

0

Menambahkan ke dua jawaban lain yang sudah menyebutkan PreferredAuthenticationsopsi, saya ingin menambahkan Anda tidak perlu mengedit file apa pun untuk mengatur pengaturan ini jika Anda tidak mau . Sebaliknya, Anda bisa mengaturnya di command-line untuk panggilan individualssh , dengan -oopsi, sebagai berikut:

ssh -o PreferredAuthentications=publickey,gssapi-with-mic,hostbased,keyboard-interactive,password user@hostname

Referensi:

  1. Untuk membaca lebih lanjut tentang PreferredAuthenticationsopsi ini, lihat man ssh_config( lihat online di sini ). Baca juga ssh -oopsi di man sshhalaman manual ( online di sini ).
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.