¿Cómo ejecutar sshd en el puerto 500 en High Sierra?

Cambiaron cosas en versiones posteriores de macOS para que no puedas editar etc/ssh/sshd_configcomo lo harías en Linux. ¿Qué escribo en el shell para ejecutar sshd en el puerto 500 en lugar del 22?

¿Alguna de estas soluciones funciona? serverfault.com/questions/18761/…
¿Hay alguna manera de simplemente hacer un "enlace simbólico" al puerto, canalizar todo directamente para una prueba, en lugar de cargar un .plist, etc.?

Respuestas (1)

Para modificar el puerto ssh, debe editar el demonio de lanzamiento de ssh del host del servidor ssh:

  • deshabilitar SIP
  • abrir ssh.plist:

    sudo nano /System/Library/LaunchDaemons/ssh.plist 
    
  • modificar el <key>Sockets</key>(puerto de ejemplo aquí: 10022) de

        ...
        <key>Sockets</key>
        <dict>
                <key>Listeners</key>
                <dict>
                        <key>SockServiceName</key>
                        <string>ssh</string>
                        <key>Bonjour</key>
                        <array>
                                <string>ssh</string>
                                <string>sftp-ssh</string>
                        </array>
                </dict>
        </dict>
        ...
    

    a

        ...
        <key>Sockets</key>
        <dict>
                <key>Listeners</key>
                <dict>
                        <key>SockServiceName</key>
                        <string>10022</string>
                        <key>Bonjour</key>
                        <array>
                                <string>10022</string>
                                <string>10022</string>
                        </array>
                </dict>
        </dict>
        ...
    
  • descargar y cargar el demonio

    sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist 
    sudo launchctl load /System/Library/LaunchDaemons/ssh.plist 
    
  • probar el demonio ssh
  • habilitar SIP

Un enfoque alternativo, menos intrusivo, es crear un segundo demonio de lanzamiento ssh en /Library/LaunchDaemons/:

  • copiar el ssh.plist

    sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh2.plist 
    
  • modificar el ssh2.plist:

    sudo nano /Library/LaunchDaemons/ssh2.plist 
    

    cambie la etiqueta de la clave a

    <key>Label</key>
    <string>com.openssh.sshd2</string>
    

    cambiar la clave <key>Sockets</key>como se describe anteriormente

  • deshabilite SSH en Preferencias del sistema > Compartir > Inicio de sesión remoto
  • carga el demonio de lanzamiento:

    sudo launchctl load -w /Library/LaunchDaemons/ssh2.plist 
    
  • con la verificación de clave estricta habilitada en el archivo de configuración ssh en un host de cliente ssh, es posible que deba eliminar el servidor ssh del archivoknown_hosts de este host remoto.
  • acceder al servidor ssh conssh user@IP -p <port>
oh hermano... por eso me quedé en 10.12 hasta la semana pasada. Sabía que una vez que Apple quitara el conector de 3,5 mm, sería una lástima.