web-dev-qa-db-fra.com

script shell pour connecter le serveur via un terminal ssh?

Comment écrire un script shell pour connecter plusieurs serveurs via un terminal ssh. Cela devrait ouvrir plusieurs onglets dans le terminal et connecter plusieurs serveurs via ssh

ex

ssh [email protected]
ssh [email protected]
ssh [email protected]

Remplir automatiquement le mot de passe aussi

Tous dans un onglet séparé.

comment écrire un script shell pour cela?

2
Kanna

Vous pouvez utiliser gnome-terminal pour ouvrir un nouveau terminal ou de nouveaux onglets

#!/bin/bash
#
# The following command open new windows
#
gnome-terminal -e "ssh [email protected]"
gnome-terminal -e "ssh [email protected]"
gnome-terminal -e "ssh [email protected]"
#
# The following command open new tabs
#
gnome-terminal --tab -e "ssh [email protected]" --tab -e "ssh [email protected]"

Une autre solution utilisera la commande screen, un exemple de cela quand il est écrit dans un script Shell:

#!/bin/bash
# Create a detached screen name with "node1"
screen -d -m -S node1
# Create a detached screen name with "node3"
screen -d -m -S node3
# Start another screen within node1
screen -S node1 -X screen
# Execute your command in the screen instance of node1
screen -S node1 -p 0 -X exec ssh [email protected]
# Same as above
screen -S node3 -X screen
screen -S node3 -p 0 -X exec ssh [email protected]

Une fois l'exécution de ce script terminée, vous pouvez ouvrir l'instance d'écran que vous venez de créer avec screen -r node1. Pour plus d'informations sur la commande screen, veuillez vous reporter à Manuel de l'utilisateur de l'écran .

Référence:

  1. Script shell - ouvre un nouvel onglet dans le terminal
  2. script bash pour ouvrir une session d'écran avec plusieurs fenêtres?
6
P.-H. Lin