Saya ingin perintah ssh hanya mengizinkan satu kesempatan dalam mengetik kata sandi, jika kata sandi salah pada saat pertama kali ssh akan kembali
Permission denied (publickey......).
Apakah ada bendera yang memberi tahu ssh untuk meminta hanya satu kali kata sandi?
Dari pada:
[nir@dhcppc4 ~]$ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey.....).
Saya ingin:
[nir@dhcppc4 ~]$ ssh [email protected]
[email protected]'s password:
Permission denied (publickey.....).
Solusinya harus di sisi klien (misalnya beberapa bendera ke perintah ssh atau menggunakan pipa), saya tidak bisa menyentuh sshd_config
, atau file konfigurasi sistem lainnya. Karena-secara umum- saya membuat perangkat lunak pihak ke-3 (jadi saya tidak dapat membuat kunci atau mengkonfigurasi file sistem) yang mengakses server di LAN, kata sandi disimpan dalam DB (oleh karena itu tidak perlu upaya kedua). Dan dalam kode saya jika saya dapat berasumsi bahwa saya hanya memiliki satu upaya untuk ssh
/ scp
itu akan menyederhanakan kode yang relevan.
Jawaban:
Di halaman manual sshd config
man 5 sshd_config
:Jadi pengaturan
MaxAuthTries 2
akan menjadi pengaturan yang Anda butuhkan.sshd
perlu dimulai ulang setelah itu (harus dijalankan sebagai root):atau
Di sisi klien ini dapat diatur dengan pengaturan ssh (lihat
man 5 ssh_config
untuk pengaturan yang dapat Anda terapkan):Jadi edit
~/.ssh/config
file Anda dan tambahkan:Di mana
<name_or_ip_of_host|*>
IP kanonik atau nama host yang Anda gunakan pada baris perintah, atau*
untuk semua upaya koneksi host. Anda juga dapat menentukan ini pada baris perintah tanpa harus mengedit/.ssh/config
file Anda :sumber
sshd_config
Lihatlah MaxAuthTries di
sshd_config
. Standarnya adalah 6, jadi ingatlah bahwa Anda mungkin mencoba pubkey auth sebelum Anda mencoba kata sandi auth saat memilih nilai Anda.sumber