web-dev-qa-db-fra.com

SSH - Se connecter avec une seule commande?

J'ai eu un Raspberry Pi 3 que je maîtrisais complètement, avec Debian sous XFCE. Je savais qu'il était possible d'utiliser le transfert X11.

Maintenant, ma question, est-il possible de démarrer un programme avec une commande? Je souhaite créer une entrée de bureau pour mon système d'exploitation principal (Ubuntu GNOME) afin que je puisse simplement cliquer dessus et il sera exécuté.

Je dois créer un fichier .sh pour cela ..

Est-il possible de se connecter et de démarrer un programme avec une seule commande? Disons que je veux démarrer GIMP.

D'habitude je fais ça:

ssh -XC -C -c arcfour,blowfish-cbc username@IP

Ensuite, il ouvrira le client SSH pour le RPi et demandera un mot de passe, puis je le taperai, et je devrai enfin taper "Guimper" pour qu'il démarre sur mon bureau principal.

Est-il possible de faire tout cela avec une seule commande? Je veux faire une entrée sur le bureau, mais je ne veux pas que le terminal s'ouvre à chaque fois et demande mon mot de passe pour me connecter au Pi.

3
OctaVIve

D'habitude je fais ça:

ssh -XC -C -c arcfour,blowfish-cbc username@IP

Ne fais pas ça. Utilisez -Y pour vous assurer qu’il fonctionnera à l’avenir. La sélection de "mauvais chiffres" n'aide pas ces jours-ci, pas plus que le -C pour la compression.

ssh -Y username@IP

est juste suffisant.

Si vous ne voulez pas tous les écrire, il y a ssh_config, où vous pouvez stocker une entrée comme ceci:

Host pi
  Hostname <IP>
  User username
  ForwardX11 yes

et vous pouvez alors vous connecter simplement en tapant ssh pi.

Pour vous débarrasser du mot de passe, Prompt, il est judicieux de configurer l'authentification par clé publique (en bref):

ssh-keygen -t rsa
ssh-copy-id pi

Enfin, vous pouvez démarrer les programmes sur la pi directement à partir de ssh, tels que

ssh pi gimp

qui peut être simplement utilisé comme raccourci pour le bureau, si vous le souhaitez. Mais je pense qu’il est plus rapide de taper cela que de chercher des icônes sur le bureau :)

7
Jakuje

Si vous voulez le bureau complet à partir du Pi, vous pouvez installer xnest et l'utiliser. Xnest est un client X qui est également un serveur X. Il vous donne donc un deuxième serveur X fonctionnant comme une sous-fenêtre de votre bureau actuel.

J'ai configuré une clé sans mot de passe pour ssh en un vm avec, et j'ai créé un fichier .ssh/config avec un raccourci tel que décrit par Jakuje, donc ce que je fais est

user@Host:~/ $ Xnest :1 &
user@Host:~/ $ DISPLAY=:1 ssh myvm mate-session

Cela démarre un "serveur" Xnest sur ma machine situé à l'adresse: 1 (votre affichage habituel est: 0) et envoie ce processus à l'arrière-plan. Ensuite, je règle la variable DISPLAY de ce shell pour qu'il pointe vers l'affichage Xnest, puis ssh dans ma machine virtuelle en utilisant les informations de mon fichier .ssh/config et démarre une session de bureau complète MATE. Remplacez la commande mate-session par n’importe quelle commande qui démarre une session de bureau sur votre ordinateur distant.

0
ivanivan