SSH : obliger l'utilisation d'une clé ppur se connecter

Eléphant du PHP | 245 Messages

16 août 2012, 12:49

salut,

j'utilise ssh avec Putty par mot de passe.
J'ai vu qu'on pouvait créer des clés pour du cryptage RSA sur SSH2, ce qui permet une authentification sans mot de passe.

Ma question est :
est-ce possible de combiner mot de passe + clés?
Ou bien :
n'utiliser que les clés?

C'est à dire n'autoriser les connexions que lorsque un clé est présentée?

j'ai l'impression que l'utilisation de clés uniquement est possible mais que dans ce cas, on ne peut pas le combiner avec un mot de passe ... me trompe-je?

merci pour vos réponses

ViPHP
xTG
ViPHP | 7331 Messages

16 août 2012, 13:11

Si on utilise une clé c'est qu'on est autorisé...
Il servirait à quoi le mot de passe du coup ?
C'est comme demander deux mots de passe ton affaire. ;)

Eléphant du PHP | 245 Messages

16 août 2012, 14:37

ouais, t'a raison, du coup il faut que je désactive les mots de passe au profit des clés.
Cela se fait dans ssh_config


Merci en tous cas

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 août 2012, 14:54

Si tu fais ça, ça implique qu'un utilisateur local devra installer/modifier toutes les clés (en gros, il ne sera pas possible de faire un ssh-copy-id vers ce server).

C'est une bonne pratique si tu ouvres des accès pour des utilisateurs tiers et que tu ne veux pas qu'ils fassent n'importe quoi, mais fait attention à ne pas le faire sur un de tes comptes.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 1668 Messages

16 août 2012, 23:45

Bonjour,

Tu as deux possibilités d'authentification avec SSH :
  • Par mot de passe (peut fiable, il "faudrait" le désactiver)
  • Par clef publique (sécurisée, surtout qu'en France on a pas de limitations sur le cryptage pour l'authentification), le seul soucis c'est que, comme dans la vie, tu paume plus facilement tes clefs que ton code de CB.
Le principe : ton client génère une clef publique et une clef privée, tu met ta clef public (.pub) dans ~/.ssh/authorized_keys à la main ou via ssh-copy-id.
Lorsque tu tentera de te connecter au serveur avec cet utilisateur sur ton serveur (et ton utilisateur client), il va regarder ~/.ssh/authorized_keys, si la clef publique qu'il possède lui permet de décrypter ce que tu lui envois (crypté avec ta clef privée), tu es authentifié.
Si tu veux tout verrouiller tu peux mettre un mot de passe sur ta clef privée, mais bon, sans troller, la sécurité est caractérisé par le maillon le plus faible de la chaîne.

Pour ne plus perdre ses pass : [1]
Pour la partie légale : [2]
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol