5 votes

Configuration de sshd sur OS X Lion

J'essaie de mettre en place une sécurité ssh (rudimentaire) sur mon poste de travail derrière un routeur sur un réseau domestique. Il fonctionne sous Mac OS X Lion (10.7).

Si je comprends bien, ce que l'on fait normalement dans de telles circonstances, c'est changer les parties appropriées d'une /etc/sshd_config fichier. Par exemple, je pourrais avoir

# akil@computerA:/etc/sshd_config
Port 12345
Protocol 2
PermitRootLogin no
PasswordAuthentication no

Et ceci n'écouterait respectivement que sur le port 12345, n'accepterait que la méthode d'authentification "2", interdirait les connexions Root et n'autoriserait que les connexions par clé. Je redémarrerais ensuite le démon ssh et tout serait parfait.

Apparemment, cela a fonctionné avec Snow Leopard (OS X 10.6), mais cela ne semble pas fonctionner avec Lion. Lion semble ignorer tout ce qui se trouve dans le champ sshd_config fichier.

Pour changer le port, vous pouvez suivre les conseils de certains blogs et forums (1,2) qui vous indiquent de changer (a) ajouter un nouveau service ssh en éditant /System/Library/LaunchDaemons/ssh.plist et (b) définir le port du nouveau service en /etc/services .

Cela fonctionne -- faire ssh akil@computerA.local refuse la connexion, mais maintenant ssh akil@computerA.local -p 12345 fonctionne bien.

Le problème est que je n'ai aucune idée de comment utiliser des étapes similaires pour changer autre chose : comment désactiver les connexions Root et/ou les authentifications par mot de passe ?

1 : Changer le port sshd sur Lion

2 : Modification du port sshd sur OS X 10.4

4voto

scottmarlowe Points 2952

Vous ne pouvez pas modifier le port sur lequel sshd écoute en le changeant dans sshd_config puisque sshd n'est pas encore lancé lorsque la connexion arrive. sshd est instantanément lancé par launched lorsqu'une connexion arrive. Vous devez donc changer le port dans l'élément launched approprié, ou en créer un autre pour avoir un second port écoutant les connexions ssh entrantes.

Vous pouvez trouver le fichier correct dans /System/Library/LaunchDaemons/ssh.plist

Copiez-le dans /Library/LaunchDaemons/ssh-alternative.plist et modifiez la partie suivante :

            <key>Listeners</key>
            <dict>
                    <key>SockServiceName</key>
                    <string>ssh-alt</string>
            </dict>

Remarquez que le SockServiceName a été changé de ssh à ssh-alt. Pour que cela fonctionne, vous devez ajouter un service nommé ssh-alt à /etc/services Par exemple comme ceci (pour correspondre à votre exemple) ajoutez cette ligne :

ssh-alt 12345/tcp # ssh-alt

Vous pouvez ensuite charger votre nouvelle configuration ssh-alternative avec sudo launchctl load -w /Library/LaunchDaemons/ssh-alt.plist

Si vous êtes en train de courir ipfw assurez-vous d'autoriser les connexions tcp sur le nouveau port. Le panneau Sharing.PrefPanel vous permettra uniquement d'activer et de désactiver le port 22 d'écoute standard sshd (à moins que vous ne modifiiez ssh dans le fichier /etc/services ce que je fais pas recommander).

En outre, vous pouvez empêcher ce service d'être annoncé par Bonjour en supprimant la partie correspondante de l'élément lancé.

        <key>Bonjour</key>
        <array>
            <string>ssh</string>
            <string>sftp-ssh</string>
        </array>

Si cette opération était déjà en cours, vous devez décharger et charger à nouveau l'article.

1voto

zzz Points 1686

Quant au port, j'ai toujours trouvé plus facile de le remapper dans mon routeur que dans OS X. Ce n'est pas toujours possible, mais si votre routeur le supporte, c'est trivial.

En ce qui concerne l'authentification, sshd lit le fichier de configuration, il y a juste plus d'un type de mécanisme utilisé. Dans votre cas, en plus de définir PasswordAuthentication, vous devez définir ChallengeResponseAuthentication sur 'no'.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X