Cómo habilitar SSH en una Mac desde la línea de comandos

Tabla de contenido:

Anonim

Todas las Mac modernas que ejecutan macOS o Mac OS X vienen con SSH preinstalado de manera predeterminada, pero el demonio SSH (Secure Shell) también está deshabilitado de manera predeterminada. Los usuarios avanzados de Mac pueden apreciar saber que la capacidad de habilitar y deshabilitar SSH está disponible completamente desde la línea de comandos de Mac OS, lo que permite una manera simple de permitir o deshabilitar las conexiones remotas a una computadora.No es necesario cargar, descargar o compilar kext, para activar SSH desde la Terminal en cualquier Mac, simplemente tiene que ejecutar un comando de configuración del sistema, como mostraremos en este tutorial.

Una breve nota al margen; esta guía se aplica a todas las versiones de macOS y Mac OS X, pero en realidad está dirigida a usuarios más avanzados que pasan mucho tiempo en la Terminal. Si desea activar y desactivar SSH y evitar la línea de comando, puede hacerlo habilitando el inicio de sesión remoto en el panel de preferencias Compartir en una Mac, o detener el servidor dejándolo sin marcar. Si no usa ssh regularmente, no hay razón para habilitar el servidor ssh en una Mac.

Cómo verificar si el inicio de sesión remoto SSH está habilitado en Mac OS a través de la terminal

¿Quiere verificar el estado actual de SSH en una Mac? Usando la cadena de comando de configuración del sistema, podemos determinar rápidamente si SSH y el inicio de sesión remoto están habilitados actualmente en cualquier Mac:

sudo systemsetup -getremotelogin

Si el inicio de sesión remoto y SSH están habilitados actualmente, el comando y el informe dirán "Inicio de sesión remoto: activado", mientras que si SSH está desactivado y en el estado predeterminado de macOS, dirá "Inicio de sesión remoto: desactivado". .

Habilite SSH en Mac desde la línea de comandos con systemsetup

Para activar rápidamente el servidor SSH y permitir conexiones ssh entrantes a la Mac actual, use el indicador -setremotelogin con systemsetup así:

sudo systemsetup -setremotelogin on

sudo es necesario porque el comando systemsetup requiere privilegios de administrador, al igual que cuando habilita el inicio de sesión remoto desde las preferencias de uso compartido en una Mac para habilitar los servidores shell seguros.

No hay confirmación ni mensaje de que se ha habilitado el inicio de sesión remoto y SSH, pero puede usar el indicador -getmorelogin mencionado anteriormente para comprobar y verificar que el servidor SSH se está ejecutando ahora.Y sí, el uso de -setremotelogin se aplica para habilitar los servidores ssh y sftp en la Mac.

Una vez que se haya habilitado ssh, cualquier cuenta de usuario o persona que tenga un inicio de sesión en la Mac actual puede acceder a ella de forma remota utilizando el comando ssh dirigido a la dirección IP de la Mac de la siguiente manera:

ssh [email protected]

Una vez conectado, el usuario tendrá acceso remoto a la computadora a través de la línea de comando y, si tiene una cuenta de administrador o una contraseña de administrador, también tendrá acceso completo de administración remota.

Desactiva SSH en Mac OS con la configuración del sistema

Si desea deshabilitar los servidores SSH desde la línea de comandos y, por lo tanto, evitar las conexiones remotas, simplemente cambie de 'encendido' a 'apagado' con el indicador -setremotelogin de systemsetup así:

Sudo systemsetup -setremotelogin off

Nuevamente, sudo es necesario para desactivar SSH y deshabilitar los servidores ssh y sftp.

Cuando ejecute con éxito el comando, se le preguntará: “¿Realmente desea desactivar el inicio de sesión remoto? Si lo hace, perderá esta conexión y solo podrá volver a activarla localmente en el servidor (sí/no)”. así que escriba "sí" para confirmar, lo que deshabilitará SSH y también desconectará cualquier conexión SSH activa a la Mac en cuestión. Si desea evitar tener que escribir sí/no, tal vez para incluirlo en un script de configuración o de otra manera, puede usar el indicador -f para eludir la pregunta de la siguiente manera:

sudo systemsetup -f -setremotelogin off

Del mismo modo, también puede usar -f para omitir cualquier indicación relacionada con la habilitación de SSH.

systemsetup -f -setremotelogin on

Tenga en cuenta que, ya sea que desactive o active SSH desde la línea de comandos, la configuración del panel de preferencias del sistema de inicio de sesión remoto en la GUI de Mac OS X también se ajustará para reflejar el cambio correspondiente.

Cómo habilitar SSH en una Mac desde la línea de comandos