2 votes

Utilisation de "&" et "|" dans SSHPass script

Je suis en train de faire un script pour mes parents sur leur Mac afin qu'ils puissent se connecter en SSH à mon ordinateur Linux, et envoyer des commandes, créer des popups, etc.

C'est l'un de mes commandements :

sshpass -p Password ssh maliciouzzhd@10.0.0.1 export DISPLAY=:0 & mate-session-save --force-logout

Mon problème est que le Mac traite le "&" comme n'étant pas dans le sshpass script, et exécute l'argument après avoir utilisé le terminal du Mac, sans SSH.

Alors

sshpass -p Password ssh maliciouzzhd@10.0.0.1 export DISPLAY=:0 & mate-session-save --force-logout

exécuterait

export DISPLAY=:0

dans la session SSH, mais

mate-session-save --force-logout

serait exécuté dans le terminal Mac.

Si quelqu'un peut m'aider à résoudre ce problème, ce sera très apprécié.

1voto

Jakuje Points 1520

SSH accepte un seul argument comme commande, et non plusieurs. La ligne de commande doit donc ressembler à ceci (notez les guillemets) :

sshpass -p Password ssh maliciouzzhd@10.0.0.1 "export DISPLAY=:0 & mate-session-save --force-logout"

Mais l'idée générale peut ne pas fonctionner, parce que vous n'avez pas autorisé la redirection X11 (ajoutez -Y sur le ssh ).

0 votes

Merci, cela fonctionne, mais le message suivant s'affiche maintenant Unable to init server: Could not connect: Connection refused

0 votes

Le serveur X est-il installé sur votre ordinateur ?

0 votes

Comment vérifier ? Je n'ai pas l'habitude du Mac, ce sont mes parents.

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