Tenía un puerto personalizado usando la línea "Puerto" en /etc/sshd_config. Después de actualizar a Mac OS X 10.12.4, descubrí que ya no podía conectarme en el puerto personalizado; en su lugar, estaba escuchando en el puerto 22. lugar correcto y reiniciamos sshd desde la línea de comando usando sudo launchctl stop com.openssh.sshd; sudo launchctl start com.openssh.sshd
. Sin embargo, después del reinicio, sshd todavía estaba escuchando en el puerto 22. Luego abrí Preferencias del sistema y en compartir hice clic en "Inicio de sesión remoto". Ejecutar `netstat -a -n" mostró que el puerto 22 ya no se estaba escuchando. Luego hice clic en "Inicio de sesión remoto" para reiniciar sshd, y luego descubrí que sshd todavía estaba escuchando en el puerto 22, no en mi puerto personalizado.
En /var/log/apache2, veo un mensaje vacío access_log
al inicio y error_log
contiene el mensaje de inicio normal. No hay pistas allí.
¿Cómo hago para que sshd vuelva a escuchar en mi puerto personalizado?
Encontré la respuesta aquí y parece que también aplica para actualizar a Sierra desde una versión pre-el capitan de OS X.
Para resumir:
sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh2.plist
Edite /Library/LaunchDaemons/ssh2.plist y cambie las líneas que dicen:
<key>Label</key>
<string>com.openssh.sshd</string>
a:
<key>Label</key>
<string>com.openssh.sshd2</string>
Y cambia las líneas que dicen:
<key>SockServiceName</key>
<string>ssh</string>
reemplazando "ssh" con cualquier puerto que desee usar.
Luego inicie el nuevo puerto con:
sudo launchctl load -w /Library/LaunchDaemons/ssh2.plist
Como se señaló en el artículo, esto no elimina la ejecución de ssh en el puerto 22. En mi caso, eso estuvo bien: la razón principal para ejecutar en el nuevo puerto era coincidir con el puerto ssh visible fuera del firewall.
dan
sshd
de responder en el puerto 22, ingrese:/usr/bin/sudo launchctl unload /Library/LaunchDaemons/ssh.plist
.