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.