Je veux changer le port sshd
utilisé sur un serveur Mac. Par exemple, disons du port 22 au port 32.
Le montage /etc/sshd_config
ne semble pas fonctionner. Est-ce que quelqu'un sait comment le changer? Je préférerais une méthode compatible avec toutes les versions d'OSX (ou autant que possible, au moins).
ssh
mac-osx
mac-osx-server
Alexander Artemenko
la source
la source
/usr/libexec/sshd-keygen-wrapper
(indiqué dans les plistes ci-dessous) peut démarrer un SSH différent de celui spécifié dans la pliste elle-même. Si vous le chat, ça commence toujours/usr/sbin/sshd
.Réponses:
Toutes les réponses précédentes fonctionnent (comme le suggère Google), mais elles sont sales et inélégantes .
La solution est donc aussi simple que d’utiliser le numéro de port au lieu du nom du service.
Un extrait de mon édition
/System/Library/LaunchDaemons/ssh.plist
:Remarque: pour pouvoir éditer ce fichier sur El Capitan, Sierra et probablement de futures versions, vous devez désactiver SIP (System Integrity Protection). Voir Comment désactiver la protection de l'intégrité du système (SIP) [...] .
La modification ci-dessus forcera également sshd à n'écouter que sur IPV4.
Après toute modification
ssh.plist
, le fichier doit être rechargé comme suit:Notez que l'utilisation de
launchctl stop ...
etlaunchctl start ...
ne rechargera PAS ce fichier.La page de manuel contenant plus d'informations peut être trouvée en tapant
man launchd.plist
ou en utilisant ce lien .la source
Si vous voulez que sshd écoute sur un port supplémentaire, vous pouvez ajouter plusieurs entrées au dictionnaire Sockets.
Exemple:
la source
/System/Library/LaunchDaemons/ssh.plist
man launchd.plist
.D'après ce que j'ai lu (et expérimenté) jusqu'à présent, trois méthodes principales peuvent être utilisées:
Une autre façon de le faire, que je préfère de loin à toutes et chacune de ces méthodes, pour éviter les problèmes de fichiers système Mac OS X, consiste à utiliser socat pour rediriger le port 22 vers le port de votre choix.
sudo mv ./socat-1.7.3.2.tar.gz /usr/local/bin/socat-1.7.3.2.tar.gz
)cd /usr/local/bin
)sudo tar -xvzf socat-1.7.3.2.tar.gz
cd ./socat-1.7.3.2
sudo ./configure && sudo make && sudo make install
)sudo socat TCP-LISTEN:2222,reuseaddr,fork TCP:localhost:22
)Vous avez terminé et vos fichiers système mac os x ne sont pas modifiés. De plus, cette méthode ne fonctionne pas uniquement sur Snow Leopard, mais sur toutes les versions de Mac OS X et sur toutes les machines sur lesquelles socat peut s'exécuter.
La dernière chose que vous devez faire si vous utilisez un routeur / pare-feu est d’inclure les commandes de redirection appropriées dans votre routeur / pare-feu.
De plus, cela évite de se perdre dans le débat, que la méthode ssh.plist, la méthode des services ou la méthode de votre choix soit meilleure, plus élégante ou pire que l’autre.
Vous pouvez également préparer facilement un script qui s'exécute au démarrage pour reconstruire la redirection socat à chaque redémarrage de votre ordinateur. Placez ceci dans
/Library/LaunchDaemons/com.serverfault.sshdredirect.plist
:Utilisez
sudo launchctl load -w /Library/LaunchDaemons/com.serverfault.sshdredirect.plist
pour le charger. Il se chargera automatiquement lors des prochains redémarrages.En outre, vous pouvez également améliorer la sécurité en (i) configurant votre pare-feu de manière à bloquer toute connexion à votre port 22 à partir de toute interface autre que la boucle (127.0.0.1) et (ii) à modifier de manière similaire le fichier sshd.conf. ssh n'écoute que sur le bouclage.
Prendre plaisir.
la source
/etc/services
fichier est une mauvaise idée. Cela affectera des choses telles que la connexion de la clé SSH à vos comptes github ou bitbucket, qui chercheront à se connecter au nouveau port et échoueront.sudo
pour installer. Vous ne devriez pas construire avec des privilèges élevés.<key>KeepAlive</key><true/>
.Je ne pouvais pas voir cela correctement documenté nulle part dans une page de manuel, mais si vous ne voulez rien faire de plus que d'ajouter un auditeur supplémentaire, vous pouvez utiliser un éventail d'écouteurs et créer un dictée supplémentaire. Cela ne nécessite pas de modification de / etc / services si vous utilisez directement le port (mais n'oubliez pas d'ouvrir le port sur votre pare-feu!)
la source
man launchd.plist
.