1 votos

¿Es posible habilitar el inicio de sesión remoto sin contraseña sin claves RSA?

Tengo una necesidad a muy corto plazo en mi propia red doméstica a la que nadie más tiene acceso en absoluto, para permitir que un mac para SSH en otro y emitir un comando de reinicio. Quiero script esto para que sea sólo un doble clic en un flujo de trabajo de Automator, y la máquina remota se reinicia. Hasta ahora todo lo que he leído en línea que dice apoyar esto, no ha funcionado. Tal vez estoy haciendo algo mal, pero estoy atascado así que en busca de ayuda.

Soy totalmente consciente de lo inseguro que es esto, sólo lo necesito para unos días y me parece bien todas las implicaciones de seguridad. No quiero tener que configurar claves para hacer un acceso adecuado sin contraseña, y no quiero tener que instalar/compilar nada nuevo sólo para esto. Lo más probable es que no vuelva a necesitar esta capacidad. Es una necesidad muy temporal e inusual.

Ejecutando MacOS Catalina en ambas máquinas.

1voto

wch1zpink Puntos 11

Aquí hay un AppleScript solución que puede funcionar para usted. Esta es la única forma que conozco de poder emitir un comando en la máquina remota sin tener que configurar claves ssh y demás.

Sin embargo, tendrá que habilitar Eventos remotos de Apple y Inicio de sesión remoto en el Compartir preferencias en la máquina remota. También necesitará conocer el nombre de usuario y la contraseña, así como su dirección IP local, para acceder a la máquina remota.

Como este proceso sólo permite apuntar a las aplicaciones que ya se están ejecutando en la máquina remota... Como lo más probable es que el "Finder" se esté ejecutando, le diremos que abra el archivo System Events.app. Entonces podemos decirle a System Events.app que reinicie el ordenador.

Nota: No puedo probar esto en MacOS Catalina porque estoy en MacOS Ventura. No estoy seguro de si la ruta a System Events.app en Catalina será la misma.

-- edit the username,password, and IP address

tell application "Finder" of machine "eppc://username:password@192.168.1.2" 
    open file "Macintosh HD:System:Library:CoreServices:System Events.app"
end tell

tell application "System Events" of machine "eppc://username:password@192.168.1.2"
    restart
end tell

Si tienes problemas para compilar el código anterior... Pruebe esto

tell application "Finder" of machine (get "eppc://username:password@192.168.1.2") 
    using terms from application "Finder"
        open file "Macintosh HD:System:Library:CoreServices:System Events.app"
    end using terms from
end tell

tell application "System Events" of machine (get "eppc://username:password@192.168.1.2")
    using terms from application "System Events"
        restart
    end using terms from
end tell

Después de probar el código y asegurarse de que funciona para usted, puede añadir un comando Run AppleScript a su flujo de trabajo de Automator con el código de arriba y usted debe ser bueno para ir.

0voto

Steve Evans Puntos 155

La ausencia de contraseña no es posible sin proporcionar claves o delegar en otra forma de autenticación.

En el Mac remoto:

  • necesitará una cuenta de administrador;
  • Inicio de sesión remoto ( ssh ) debe estar activado: Preferencias del sistema > Compartir > Inicio de sesión remoto

En el Mac de control, necesitará expect - o una alternativa como empty .

Presumí /usr/bin/expect estaba instalado por defecto pero parece que no lo está. Sin una de estas herramientas, me temo que su objetivo no es trivial.

Apagado

Para reiniciar su Mac desde la línea de comandos utilice el comando

sudo shutdown now -r

Ver Reiniciar ordenadores con Terminal en Mac para más ejemplos, incluidos los reinicios programados.

Espere

Utilice expect para emitir un comando a distancia a través de ssh . Como una sola línea, esto será algo como:

expect -c 'spawn ssh username@192.168.1.2 ; expect "password:"; send "yourpassword\r"; sudo shutdown now -r'

Puede escribir una línea múltiple expect script para reducir el número de errores tipográficos probables y para las pruebas.

Consulte estas guías:

Shell script

Considere la posibilidad de escribir un shell script para contener este comando. Esto será más fácil de llamar desde un flujo de trabajo de AppleScript o Automator; un shell script será comprobable, evitará el escape de las comillas y el escape de los finales de línea.

AppleScript/Automator

Con esto funcionando, crea un AppleScript usando do shell script o el flujo de trabajo de Automator utilizando el Ejecutar Shell script paso.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X