Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/10/2009, à 08:31

legaub

Comment forcer l'authentification par mot de passe pour ssh ?

Bonjour,

j'ai mis en place entre mon portable et mon serveur le système de clé privé/publique.

Cependant, j'aimerais savoir si il existe une commande ou une option qui oblige ssh à passer par le mot de passe plutôt que par les clés. J'ai écumé man ssh, j'ai rien vu.

Je ne voudrais pas modifier le fichier ssh_config non plus.

C'est pas crucial, c'est juste pour contrôler que le mot de passe fonctionne toujours. Parce que je me demande comment ça va se passer lorsque mon portable sera "à l'extérieur".

Merci de vos réponses.

Hors ligne

#2 Le 01/10/2009, à 08:48

Qid

Re : Comment forcer l'authentification par mot de passe pour ssh ?

la clef est lié à la clef :
2 clef identique sur 2 poste differant
ou qu'on soit ça passe sans probleme


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#3 Le 01/10/2009, à 08:56

legaub

Re : Comment forcer l'authentification par mot de passe pour ssh ?

Ok, merci de ta réponse,

je ne pourrais pas tester ça avant demain donc, j'appréhende un peu. Les clés ne dépendent donc pas de la configuration sur laquelle elles ont été créées ? Adresses IP, nom de machine, etc ...

Et puis, il me  tarde de virer le passwordauthentication YES dans sshd_config.

Hors ligne

#4 Le 01/10/2009, à 09:52

seb0uil

Re : Comment forcer l'authentification par mot de passe pour ssh ?

legaub a écrit :

Les clés ne dépendent donc pas de la configuration sur laquelle elles ont été créées ? Adresses IP, nom de machine, etc ...

Salut,

Nom, l'utilisation des clés de s'intéresse qu'à la correspondance de la clé privé avec laquelle tu te connectes à la clé publique qui est sur le serveur.
C'est d'ailleurs le principe d'authentification par clé :
- Tu génères un couple clé privé/clé publique qui t'es propre.
- Tu conserve bien au chaud ta clé privé, et tu indiques ta clé publique sur les serveurs sur lesquels tu veux te connecter.
- Tu te connectes ensuite depuis n'importe quel poste avec ta clé privé..

Pour forcer l'authentification par mdp sans changer le ssh_config, il faut simplement ne pas présenter de clé à la connexion..


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#5 Le 01/10/2009, à 10:55

legaub

Re : Comment forcer l'authentification par mot de passe pour ssh ?

D'accord,

il y une fenêtre gnome de ssh-agent qui me saute dessus quand je veux me connecter depuis la console, et j'ai le choix entre taper ma passphrase puis valider (je peux d'ailleurs la conserver) et interdire. J'ai pas osé interdire, mais je viens de le faire, et effectivement, ça se comporte comme tu dis. Merci.

Par contre, j'arrive plus à "rerentrer" sur le serveur par l'intermédiaire de mon ip publique actuelle : il clignote et attend visiblement quelque chose. (Je précise que ça fonctionnait avant la mise en place des clés) Peut-être parce que je suis "à l'intérieur" ?

Dernière modification par legaub (Le 01/10/2009, à 10:59)

Hors ligne

#6 Le 01/10/2009, à 12:13

Uggy

Re : Comment forcer l'authentification par mot de passe pour ssh ?

legaub a écrit :

Cependant, j'aimerais savoir si il existe une commande ou une option qui oblige ssh à passer par le mot de passe plutôt que par les clés. J'ai écumé man ssh, j'ai rien vu.

Je ne voudrais pas modifier le fichier ssh_config non plus.

$ mv .ssh/id_rsa .ssh/maCleRenommeeDoncIlPourraPasLaTrouver

IdentityFile
             Specifies a file from which the user's RSA or DSA authentication
             identity is read.  The default is ~/.ssh/identity for protocol
             version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for protocol ver-
             sion 2.

Edit:
Ce que seb0uil a indiqué au dessus en disant qu'il suffit de ne pas presenter la clé

Dernière modification par Uggy (Le 01/10/2009, à 12:14)

Hors ligne

#7 Le 01/10/2009, à 12:57

legaub

Re : Comment forcer l'authentification par mot de passe pour ssh ?

Très astucieux, mais le nom que tu lui donne est vraiment trop long lol.

Par contre,

Edit:
Ce que seb0uil a indiqué au dessus en disant qu'il suffit de ne pas presenter la clé

Je comprends pas.

Dernière modification par legaub (Le 01/10/2009, à 12:58)

Hors ligne

#8 Le 01/10/2009, à 14:19

Uggy

Re : Comment forcer l'authentification par mot de passe pour ssh ?

legaub a écrit :

Je comprends pas.

Il disait qu'il suffisait de ne pas presenter la clé.
C'est ce que fait ma commande.
Le fait de renommer le fichier, fait qu'il n'utilise pas (par défaut) la clé.
J'ai juste explicité ce qu'il avait dit.. j'ai mis "edit" car quand je l'ai ecrit, je n'avais pas lu sa phrase.

Hors ligne

#9 Le 01/10/2009, à 14:28

legaub

Re : Comment forcer l'authentification par mot de passe pour ssh ?

OK, tu as simplement répondu à ma question initiale, avant de lire les autres posts.

Merci de tes précisions.

Hors ligne

#10 Le 01/10/2009, à 15:41

droopy191

Re : Comment forcer l'authentification par mot de passe pour ssh ?

legaub a écrit :

Bonjour,

j'ai mis en place entre mon portable et mon serveur le système de clé privé/publique.

Cependant, j'aimerais savoir si il existe une commande ou une option qui oblige ssh à passer par le mot de passe plutôt que par les clés. J'ai écumé man ssh, j'ai rien vu.

Je ne voudrais pas modifier le fichier ssh_config non plus.

C'est pas crucial, c'est juste pour contrôler que le mot de passe fonctionne toujours. Parce que je me demande comment ça va se passer lorsque mon portable sera "à l'extérieur".

Merci de vos réponses.

Salut,

L'acceptation d'une authentification par clé ou mot de passe ou les deux ne dépend pas du client mais du serveur ( sshd_config ).
Si le serveur est configuré pour accepter les 2, le client va d'abord essayer avec la clé, et si le serveur refuse l'authentification ( clé publique non connue du serveur ou mauvaise passphrase par ex ), le client va reessayer avec login/pass.

Pour bien voir,
lancer le client ssh avec l'option -v ou -vv
vous verrez les différents méthodes essayées.

Hors ligne

#11 Le 01/10/2009, à 15:48

legaub

Re : Comment forcer l'authentification par mot de passe pour ssh ?

Exact

Purée, c'est de la folie tout ce qui se passe et que je ne devine même pas ! Je suis vraiment noob !

Hors ligne

#12 Le 02/10/2009, à 17:45

oaxley

Re : Comment forcer l'authentification par mot de passe pour ssh ?

Petite precision supp.

L'acces par cle est plus secure que par login/mdp
Le couple cle pub/priv peut etre assimile a une personne/compte.
Il suffit de deposer la cle pub ds le .ssh/authorized_keys du rep du compte avec lequel vous comptez vous logguer (exemple ~guest1/.ssh/authorized_keys) sur chaque serveur et de demander un acces par cle.

De plus, vous pouvez modifier le fichier /etc/ssh/sshd_config du serveur cible pour interdire root et les mots de passe vide :
# PermitRootLogin yes
PermitRootLogin no
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

Une petite astuce supplémentaire consiste a indiquer que le user avec le quel vous vous connectez a un mot password vide est de modifier le champ correct dans /etc/shadow. Mettre un signe "*" dans le champ 2
exemple avec guest1
# grep max /etc/passwd /etc/shadow
/etc/passwd:guest1:x:1000:1000:Invite Surprise,,,:/home/guest1:/bin/bash
/etc/shadow:guest1:*:14487:0:99999:7:::

Avec tout ca c'est pas mal... Apres on peut blinder avec un PAM authent histoire de...

HTH, Oaxley

Hors ligne

#13 Le 03/10/2009, à 08:16

legaub

Re : Comment forcer l'authentification par mot de passe pour ssh ?

Merci de tes précisions.

Je dois bien avouer que si je comprends tes deux premiers paragraphes, le troisième est extrêmement obscur. Tu vas trop loin pour moi. Quant à UsePAM, j'ai mis à no, mais je ne sais toujours pas à quoi ça sert.

Dernière modification par legaub (Le 03/10/2009, à 09:17)

Hors ligne

#14 Le 03/10/2009, à 13:58

oaxley

Re : Comment forcer l'authentification par mot de passe pour ssh ?

Je comprends.

Sur le serveur Linux il suffit de faire en sorte que le user avec lequel vous vous identifiez ai un password vide.
Ainsi lorsque vous ferez votre demande de connexion la phase d'authentification ne fonctionnera qu'avec une cle...

L'exemple est faux ds mon precedent post.
Connecte sur le serveur Linux en root.
Imaginons que le user avec lequel vous voulez vous identifier est guest1
verifiez qu'il a un mot de passe vide par uncommande comme :
# grep guest1 /etc/passwd /etc/shadow
/etc/passwd:guest1:x:1000:1000:Invite Surprise,,,:/home/guest1:/bin/bash
/etc/shadow:guest1:*:14487:0:99999:7:::

vous aurez normalement toute une suite de caracteres a la place du signe "*" indiquant par la que guest1 est protege par un mot de passe.
Effacez l'ensemble des caracteres entre les premiers "::" et remplacez les par le signe "*".

Quant a PAM, oubliez. C'est un peu plus complique...

HTH, Oaxley.

Dernière modification par oaxley (Le 03/10/2009, à 13:59)

Hors ligne

#15 Le 29/04/2019, à 11:11

DonutMan75

Re : Comment forcer l'authentification par mot de passe pour ssh ?

Bonjour à tous,
dix ans plus tard je me suis posé exactement la même question et j'ai trouvé une solution un peu plus simple que de virer les clefs de ~/.ssh/

$ ssh -o "PreferredAuthentications=password" toto@serveur

Par défaut ssh tentera d'abord l'identification par clef publique et seulement après l'authentification par mot de passe.
Avec cette option on commence direct par le mot de passe.

man ssh_config a écrit :

     PreferredAuthentications
             Specifies the order in which the client should try 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

On répond ici à la question intiale "Comment forcer l'authentification par mot de passe pour ssh ?" qui se comprend "comment forcer l'authentification côté client", étant entendu que c'est toujours le serveur ssh qui aura le dernier mot concernant la politique d'authentification.
Pour répondre à la question "comment forcer l'authentification côté serveur", il faut regarder du côté de sshd_config et notamment des clefs "AuthenticationMethods", "PasswordAuthentication", "PubkeyAuthentication" etc... Voir man sshd_config pour plus d'info.

Bonne journée à tous,

Donut

Dernière modification par DonutMan75 (Le 29/04/2019, à 11:14)

Hors ligne

#16 Le 29/04/2019, à 16:06

krodelabestiole

Re : Comment forcer l'authentification par mot de passe pour ssh ?

merci pour l'info, ceci dit je pige pas trop l'intérêt de la chose. le niveau de sécurité est bien meilleur par clé que par mot de passe, et au pire on peut aussi mettre un mot de passe sur la clé...

du coup la connexion est peut-être juste un peu plus rapide dans le cas ou on ne peut pas mettre en place une paire de clé ?

Hors ligne