SSH ne demande pas de mot de passe, donne «permission refusée» immédiatement

14

Essayer de SSH en utilisant un compte d'utilisateur; le compte root fonctionne mais je spécifie une clé privée. Le compte utilisateur donne simplement "Autorisation refusée (publickey, gssapi-with-mic) sans me demander mon mot de passe.

Comment puis-je résoudre ce problème afin de pouvoir me connecter avec un mot de passe, et PAS une clé? Je ne veux pas utiliser une clé privée pour cela en ce moment, mais un compte régulier.

Wayne Molina
la source
4
L'authentification par clé vous connecte toujours à un compte "normal" ...
womble

Réponses:

29

Le serveur a un paramètre

 PasswordAuthentication no 

Remplacez-le par oui et après un redémarrage, vous pourrez utiliser l'authentification par mot de passe.

un F.
la source
3
Si quelqu'un ne le sait pas, le paramètre PasswordAuthentication se trouve dans / etc / ssh / sshd_config.
pacoverflow
7

Vérifiez votre séquence de connexion avec ssh -vv. Cela vous indiquera quelles méthodes d'authentification sont essayées et lesquelles échouent. Vous pouvez ensuite activer ce que vous voulez et désactiver ce que vous ne voulez pas. Activez d'abord, bien sûr.

wzzrd
la source
3

Vous devrez également modifier /etc/ssh/sshd_configpour avoir le paramètre:

ChallengeResponseAuthentication yes

aussi bien que...

PasswordAuthentication yes

Et n'oubliez pas d'exécuter / user / sbin / service ssh restart pour récupérer les nouveaux paramètres.

rfreytag
la source
Le littéral /etc/ssh/sshd_configdoit avoir son trait de soulignement échappé avec une barre oblique inverse pour que le chemin d'accès complet soit affiché en italique. (Les modifications étaient trop mineures pour les soumettre moi-même)
ThorSummoner
c'est la meilleure réponse
harshitgupta
2

son dans votre sshdfichier (pas ssh, que vous trouverez probablement aussi dans / etc / ssh)

Je crois que vous voulez vous assurer qu'il PasswordAuthentication yesest défini et sans commentaire.

BuildTheRobots
la source
2
af m'a battu par moments. -un ennuyeux, je ne peux pas encore commenter le sien. Vous devriez pouvoir exécuter /etc/init.d/sshd restartplutôt que d'avoir à redémarrer, après avoir modifié la conf.
BuildTheRobots
et j'ai fait une faute de frappe en vous disant quelle directive. désolé :(
BuildTheRobots
MidnighToker: vous devriez avoir un lien "modifier" au bas de votre réponse que vous pouvez utiliser pour fixer le nom de la directive (de PubkeyAuthentication à PasswordAuthentication)
James Polley
Merci. Cela me rendra plus prudent dans les futurs représentants perdus pour cela.
BuildTheRobots
1
Ce serait /etc/init.d/sshd reloadsur n'importe quelle distribution à moitié sensée.
womble
0

Et dans le cas où quelqu'un d'autre rencontre ce problème, j'ai reçu ce problème chaque fois que la clé privée de l'utilisateur a trop d'autorisations. Afin de le faire fonctionner, j'ai dû chmod la clé privée à 400 (qui est le niveau d'autorisations par défaut lorsque la clé est créée, je crois. Je ne sais pas pourquoi celui-ci était différent).

Mais je ne sais pas si c'est toujours le cas. Cela s'est produit sur un Mac.

Safado
la source
0

Pour moi, il s'est avéré que lors d'une session de dépannage anormal, le fichier LOCAL ssh_config a été modifié. Aucune de ces méthodes n'a fonctionné pour moi, mais la modification PasswordAuthentication yesdans / etc / ssh / ssh_config de la machine locale a fonctionné.

Juste au cas où cela aiderait quelqu'un.

glmdev
la source
-1

Cela peut également être dû à l'exécution de ssh-agent. ps aux|grep ssh-agent

Il peut être tué en toute sécurité.

Craig
la source
3
Non, ça ne peut pas, et non, ça ne peut pas.
womble