Changer le port SSH par défaut d’OS X

Ce n’est pas nouveau, mais depuis Tiger, et maintenant sous Snow Leopard, la gestion de SSH est reléguée au démon launchd et non plus à xinetd. Ainsi pour changer le numéro de port de SSH, une petite gymnastique s’impose.

Comme beaucoup de démons sous OS X, le fichier de configuration se trouve sous /System/Library/LaunchDaemons et celui qui nous intéresse se nomme naturellement ssh.plist.

Lorsque l’on édite ce fichier de configuration, on peut trouver ces lignes qui renseignent sur le port du service ssh.

SockServiceName
ssh

Oui, mais cela ne ressemble pas à un numéro de port. Juste. En fait, pourquoi faire simple quand on peut compliquer un petit peu, la chaîne ssh renvoie au fichier /etc/services, et on trouve bien que SSH est sur le port standard 22 (en UDP et TCP).

ssh              22/udp     # SSH Remote Login Protocol
ssh              22/tcp     # SSH Remote Login Protocol

Il suffit donc de rajouter un nouveau nom avec le port correspondant, par exemple si l’on veut utiliser SSH sur le port 2222 au lieu de 22 :

ssh2              2222/udp     # SSH Remote Login Protocol
ssh2              2222/tcp     # SSH Remote Login Protocol

Et d’aller bien sur renommer la chaîne correspondant au SockServiceName dans le ssh.plist, comme ceci :

SockServiceName
ssh2

On relance le service :

# launchctl stop /System/Library/LaunchDaemons/ssh.plist
# launchctl start /System/Library/LaunchDaemons/ssh.plist

Et le tour est joué. Il suffit de bien penser à se connecter sur le bon port désormais : $ ssh -p 2222.


Cette article est la mise-à-jour d’un billet de juillet 2008.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *