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.
Les cookies assurent le bon fonctionnement de nos services. En continuant, vous acceptez leur utilisation sur notre site internet.
Accepter