Soru Genel anahtar kimlik doğrulaması başarısız olursa bir parola sormak yerine ssh başarısız olur mu?


Genel anahtar kimlik doğrulaması kullanarak birkaç sunucuyu ssh'es bir komut dosyası var. Sunuculardan biri, komut dosyasının bir yapılandırma sorunu nedeniyle oturum açmasına izin vermeyi durdurdu. Bu, komut dosyasının açık bir şekilde yanıtlayamayacağı bir "Şifre:" istemine bağlı kaldığı anlamına gelir, dolayısıyla sunucuların geri kalanını bile denemez. listede.

Anahtar kimlik doğrulaması başarısız olursa ssh istemcisinin parola sormaması için bir yol var mı, bunun yerine bir hatayı bağlayıp halimizin devam etmesine izin vermek yerine bir yol var mı?


91
2017-09-03 10:58


Menşei




Cevaplar:


OpenSSH için ayrıca, şifre sorgusunun devre dışı bırakılmasına ek olarak, anahtarlar için parola (lar) için sorgulamayı devre dışı bırakması gereken BatchMode da vardır.

Toplu modu

“Evet” olarak ayarlanırsa, şifre / şifre sorgulaması devre dışı bırakılır.     Bu seçenek, komut dosyalarında ve diğer toplu işlerde kullanışlıdır.     kullanıcı şifreyi sağlamak için mevcut. Argüman olmalı     "Evet veya Hayır". Varsayılan "hayır" dır.

Örnek kullanım:

ssh -oBatchMode=yes -l <user> <host> <dostuff>

120
2017-09-03 12:09





Aşağıdakileri ekleyin ~/.ssh/config:

PasswordAuthentication no

ve sunucuda şifre kimlik doğrulamasını devre dışı bırakmak için aynı satırı /etc/ssh/sshd_config ve yeniden başlat sshd.


12
2017-09-03 11:19



Tüm ssh istemci bağlantıları için parola auth'ını devre dışı bırakmak istemiyorsanız, komut satırında seçenekleri de belirleyebilirsiniz. ssh komutunuza '-oPasswordAuthentication = no' ekleyin. - cas
Bu şifre sorulmasını engellemez. OP'nin betiği hala asılacak. - Joshua Swink


Dropbear kullanıyorsanız, sadece ekleyin "-s"Parola kimlik doğrulamasını devre dışı bırakma seçeneği.


9
2017-09-03 11:54



İstemcinin varsayılmaması için +1, openssh :-) - cas


Komut satırında (veya ~/.ssh/config) ayarlayabilirsiniz PreferredAuthentications.

PreferredAuthentications=publickey

6
2017-09-03 11:39



Komut satırında, seçeneği tırnak içine almanız ve sonra -o seçeneğine iletmeniz gerektiğini düşünüyorum. - Craig Walker
@CraigWalker Ayrıca olduğu gibi iletebilirsiniz, yani. ssh -o PreferredAuthentications=publickey - Tobias Kienzler
@CraigWalker Eğer opsiyonu ve değeri ayırmak için boşluk kullanmak isterseniz, tırnaklara ihtiyacınız var. ssh "-oPreferredAuthentications publickey" - Timo