Todas as respostas anteriores estão funcionando (como o Google sugere também), mas são sujas e deselegantes .
The right way to change the listening port for a launchd handled service on Mac OS X is to make the changes the dedicated keys available in
ssh.plist
Portanto, a solução é tão simples quanto usar o número da porta em vez do nome do serviço.
Um trecho da minha /System/Library/LaunchDaemons/ssh.plist
editada:
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>22022</string>
<key>SockFamily</key>
<string>IPv4</string>
<key>Bonjour</key>
<array>
<string>22022</string>
</array>
</dict>
</dict>
Nota: para poder editar este arquivo no El Capitan, Sierra e provavelmente em futuras versões, você precisa desativar o SIP (System Integrity Protection). Veja Como desabilito a Proteção de Integridade do Sistema (SIP) .
A edição acima também irá forçar o sshd a escutar apenas o IPV4.
Depois de fazer alterações em ssh.plist
, o arquivo deve ser recarregado da seguinte forma:
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load /System/Library/LaunchDaemons/ssh.plist
Observe que o uso de launchctl stop ...
e launchctl start ...
NÃO recarregará esse arquivo.
A página man com mais informações pode ser encontrada digitando man launchd.plist
ou usando este link .