5 votes

Y a-t-il un moyen de déverrouiller l'écran de manière programmatique?

Je veux pouvoir déverrouiller l'écran ou me connecter à l'utilisateur physique tout en étant connecté en ssh. Je sais que cela peut être dangereux, etc. Cependant, cela me convient pour le moment. Quelles options ai-je pour faire cela?

0 votes

Que voulez-vous exactement réaliser? La machine se trouve sur l'écran de connexion et vous souhaitez vous connecter (créer une session GUI) en tant qu'utilisateur en utilisant une connexion SSH?

0 votes

Je ne suis pas sûr de comprendre ce que vous voulez. Est-ce TeamViewer ou Bureau à distance que vous voulez faire ?

0 votes

La machine est dans l'un de ces deux états: 1) Écran de connexion. 2) Écran verrouillé. Je veux le déverrouiller mais soit par n'importe quel programme ou terminal. En d'autres termes, je ne suis pas physiquement là et j'ai besoin d'écrire un type de fournisseur de certificat, j'ai peut-être déjà enregistré des informations d'identification d'utilisateur. Ce programme fournira l'utilisateur et le mot de passe au système qui déverrouillera l'écran physique.

2voto

Pirooz Points 486

Le lien dupliqué que j'ai ajouté a de très bonnes options de script Apple.

$ osascript -e 'tell application "System Events"
> keystroke "motdepassevraimentsécurisé"
> key code 36
> end tell'

Je pourrais également suggérer d'utiliser LockScreen. C'est une application cachée préinstallée et protégée par la protection de l'intégrité du système. Elle affichera une icône de verrouillage sur l'écran, verrouillera le clavier et la souris, et figera la Touch Bar (ça a l'air malicieux, non ?).

  1. Préférences Système > Sécurité et confidentialité > Décocher "Exiger le mot de passe...."

  2. Pour verrouiller le Mac, utilisez

    $ /System/Library/CoreServices/RemoteManagement/AppleVNCServer.bundle/Contents/Support/LockScreen.app/Contents/MacOS/LockScreen

  3. Pour déverrouiller le Mac, utilisez (non testé mais cela devrait fonctionner)

    $ killall LockScreen

0voto

Oskar Points 1242

Apple distingue une session ssh d'une véritable connexion graphique et restreint même certaines choses comme l'inscription MDM pour empêcher toute session à distance d'effectuer une action qui nécessite l'approbation d'une personne devant la machine.

Tout dépend de votre version de macOS et de vos paramètres si cela est trivial ou bloqué.

Verrouiller est facile, déverrouiller dépend des choix de sécurité et de la présence de la puce T2 dans le matériel.

Pour le code et l'API - consultez notre site partenaire Stack Overflow - l'API pour verrouiller un écran y est documentée et vous pourriez trouver l'API et le SDK officiels des développeurs Apple sur https://developer.apple.com

0 votes

Cela devrait en fait être assez sécurisé. Sur les systèmes Linux avec Systemd, vous pouvez dire: loginctl unlock-session, ce qui déverrouillera pour l'utilisateur actuel. Donc, vous avez besoin d'un moyen de vous authentifier en tant qu'utilisateur de toute façon. Cela me manque sur mon Mac.

0 votes

Apple place les clés de décryptage dans une enclave sécurisée @TamásBarta donc tant que n'importe quel script ou framework appelle le déverrouillage demande à la puce T2 de déverrouiller de manière approuvée, vous avez raison. Apple stocke des clés à usage unique dans la NVRAM dans le cadre de fdesetup authrestart qui automatise non seulement le déverrouillage, mais aussi le déverrouillage lors d'un événement de cycle de courant.

1 votes

Wow, merci pour les informations supplémentaires @bmike, je ne suis pas familier avec les produits Apple, donc j'apprécie ces détails.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X