Comment configurer sshd sur Mac OS X pour n'autoriser que l'authentification par clé?

15

J'ai une machine Mac OS X (Mac mini exécutant 10.5) avec la connexion à distance activée. Je veux ouvrir le port sshd sur Internet pour pouvoir me connecter à distance.

Pour des raisons de sécurité, je souhaite désactiver les connexions à distance à l'aide de mots de passe, permettant uniquement aux utilisateurs disposant d'une clé publique valide de se connecter.

Quelle est la meilleure façon de configurer cela dans Mac OS X?

Christian Berg
la source

Réponses:

20

Après quelques essais et erreurs, j'ai trouvé la réponse moi-même. Ces options doivent être définies dans /etc/sshd_config:

PasswordAuthentication no
ChallengeResponseAuthentication no

Changer l'un d'eux ne suffit pas.

Christian Berg
la source
3
À El Capital (et probablement à Mavericks également), l'emplacement a changé au /etc/ssh/sshd_configlieu de juste/etc/sshd_config
yorch
C'était la solution. Beaucoup de ressources en ligne ne mentionne pas la clé de toute cette affaire: ChallengeResponseAuthentication no.
the_real_one
1

Dans / etc / ssh / sshd_config

# To disable tunneled clear text passwords, change to no here! Also,
# remember to set the UsePAM setting to 'no'.
#PasswordAuthentication yes
#PermitEmptyPasswords no

Définissez PasswordAuthentication sur no et supprimez le # avant.

user21715
la source
Avez-vous lu le commentaire ci-dessus sur la définition de UsePAM sur «non»?
user21715
Cela ne semble pas nécessaire (voir ma propre réponse).
Christian Berg
0

C'est en fait dans / etc / sshd_config que vous définissez la ligne suivante:

PasswordAuthentication no

Si vous utilisez une installation standard (c'est-à-dire que vous ne l'avez pas créée / installée vous-même à partir de la source), launchd devrait prendre soin de récupérer la nouvelle configuration sans avoir à redémarrer le démon.

user5336
la source
Cela ne fonctionne pas, je peux toujours me connecter avec mon mot de passe. Le fichier journal /var/log/secure.log contient une entrée comme celle-ci: sshd [16306]: Accepted keyboard-interactive / pam for christian from 192.168.178.20 port 63841 ssh2 Je crois que l'option PasswordAuthentication contrôle uniquement les connexions par mot de passe en texte clair, pas interactif au clavier?
Christian Berg