Univers Apple

27
Mai
2018

[MàJ 26/07/18] Astuce macOS : Déverrouiller la session d'un Mac à distance

Publié par sky

Votre Mac est acessible depuis SSH ? De plus, votre Mac se vérouille au lancement de l'économiseur d'écran ? C'est une bonne chose, même une excellente chose.

Et pour finir, vous souhaitez ouvrir votre session à quelqu'un sans forcément lui donner votre mot de passe ?

Ce guide est fait pour vous !

Le principe est le suivant. Avec les commandes directes du terminal, il n'est pas possible de dévérouiller la session. Cependant, avec AppleScript, on peut demander à "écrire" dans l'interface. Nous allons donc combiner l'accès à distance du terminal, et les commandes AppleScript pour dévérouiller la session.

Commencez par vous connecter au Mac en SSH.

A partir d'ici, il y a plusieurs cas, mais qui finalement se gèrent de la même manière.

Considérons, que la session est déjà lancée, mais qu'elle a été vérouillée. Nous n'avons donc que le mot de passe à remplir.

Il faut donc reproduire le comportement que vous auriez avec un clavier, à savoir faire afficher la demande de mot de passe, l'insertion du mot de passe, et la validation de celui-ci. Cela fait 3 étapes à réaliser en 3 commandes.

osascript -e 'tell application "system events" to keystroke return'
osascript -e 'tell application "system events" to keystroke "password"'
osascript -e 'tell application "system events" to keystroke return'

A noter que l'astuce en tant que telle, n'est pas spécifique au dévérouillage de session, mais elle peut être utilisée pour d'autres actions.

En bonus, voici la commande qui permet de re-vérouiller le Mac, sous réserve que vous ayez séléctionner "immédiatement" comme durée avant la demande de mot de passe après une suspension d'activité ou le lancement de l'économiseur d'écran dans Préférences Systèmes > Sécurité et confidentialité.

 Configuration Sécurité dans Préférences Systèmes

Il suffit simplement de relancer l'économiseur d'écran :

open -a ScreenSaverEngine

Ou si vous le préférez, suspendre l'activité avec l'une des deux commandes suivantes

sudo pmset sleep
sudo shutdown -s now

pmset et shutdown sont deux commandes capables de faire beaucoup de choses, que nous explorerons peut être plus tard.

 

Mise à jour du 26/07/2018

En utilisant un script similaire pour des tâches récurrentes, je me suis rendu compte, que, pour une raison que j'ignore, il arrivait parfois que les lettres ne s'affichent pas dans l'ordre. Voici donc une version modifiée, et plus fiable du script, qui va écrire les lettres une à une afin que l'ordre des caractères soit respecté

monPass="password"
osascript -e 'tell application "system events" to keystroke return'
for ((i = 0; i<${#monPass}; i++ )); do
osascript -e 'tell application "system events" to keystroke "'${monPass:$i:1}'"'
done
osascript -e 'tell application "system events" to keystroke return'

Si vous preférez le mettre dans un fichier script pour le lancer quand nécessaire, sans y mettre le mot de passe en clair, vous pouvez toujours le passer en paramètre

#!/bin/bash

monPass=$1
osascript -e 'tell application "system events" to keystroke return'
for ((i = 0; i<${#monPass}; i++ )); do
osascript -e 'tell application "system events" to keystroke "'${monPass:$i:1}'"'
done
osascript -e 'tell application "system events" to keystroke return'
 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
 
Tout accepter Tout refuser Gérer