web-dev-qa-db-fra.com

Comment puis-je ouvrir une nouvelle fenêtre de terminal pour ssh dans un nouvel ordinateur et exécuter des commandes?

En gros, j'ai un ordinateur sur lequel je dois entrer et extraire environ 8 terminaux pour surveiller divers threads et fichiers journaux. Je voudrais avoir un script de ma machine de construction qui peut tout faire pour moi. Par exemple, si je veux regarder les files de messages, j'aimerais exécuter quelque chose comme ceci:

gnome-terminal --window-with-profile=NOCLOSEPROFILE -e "ssh root@IP 'watch ipcs'" 

Mais la commande ssh ne semble pas s'exécuter correctement. J'ai essayé une dizaine d'itérations, sans succès. Voici une capture d'écran, si cela peut aider.

enter image description here

Donc, fondamentalement, je veux que ce soit quelque chose que je puisse mettre dans un script, ou même être quelque chose de commandable, donc avec une adresse IP et une commande à exécuter, j'aimerais une nouvelle fenêtre de terminal pour ouvrir une connexion SSH à cette adresse IP. et exécutez la commande.

Merci d'avance

** EDIT Il semble que je sois capable de faire cela et d’exécuter la plupart des commandes avec la commande ci-dessus, mais la commande watch ne fonctionne pas sur ssh alors la syntaxe n’est peut-être pas le problème. Y a-t-il une raison pour que watch ne fonctionne pas ici, où

gnome-terminal --window-with-profile=NOCLOSEPROFILE -e 'ssh -X root@$IP "tail -f /home/log/alog.log"'

fonctionne bien?

5
zachd1_618

Plutôt que d'ouvrir plusieurs fenêtres et d'établir plusieurs sessions SSH (sur le même ordinateur?), Jetez un coup d'œil à l'écran. Vous pouvez faire ssh sur un hôte, l’écran de démarrage et à partir de là ouvrir plusieurs consoles virtuelles, une pour chaque commande à exécuter.

Ce qui est vraiment sympa à propos d’écran, c’est que si vous perdez la connexion ssh, vous pouvez en créer une nouvelle et la rattacher aux sessions en cours. C'est vraiment cool. Il y a aussi tmux, qui est un programme similaire (je ne sais pas dans quelle mesure il est disponible sur différents Linux.

Réf.: http://en.wikipedia.org/wiki/GNU_Screen

1
pcm

Vous essayez d'exécuter une commande interactive qui nécessite un terminal et, par défaut, ssh n'alloue pas de terminal lorsque vous indiquez qu'une commande doit être exécutée sur la machine distante. Ajoutez le drapeau -t pour le forcer à allouer un terminal.

1
psusi