J'utilise ce qui suit pour me connecter automatiquement à un serveur distant, puis pour exécuter les commandes répertoriées dans un commands.txt
, comme ceci:
C:\path\to\PuTTY.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt
commands.txt
contient les éléments suivants:
ps -elf|grep 'sometext'
Cependant, lorsque j'essaie de le faire, une nouvelle fenêtre apparaît pour PuTTY, mais celle-ci se ferme et se ferme instantanément après la connexion. En conséquence, je ne peux pas voir le résultat de la ou des commandes.
Je ne comprends pas ce qui se passe ici. Est-ce que je me trompe dans mon approche ou dois-je prendre d'autres mesures pour que la fenêtre PuTTY s'interrompe quelques instants avant de quitter?
Vous devez utiliser plink.exe
(une interface de ligne de commande pour le back-end de PuTTY) et non PuTTY.exe
Vous obtenez cela depuis la page de téléchargement PuTTY
Sans plink:
Il semble que le seul moyen est d'utiliser les options -log <logfile>
, puis d'imprimer son contenu et de le supprimer.
Vous devez d’abord créer un fichier séparé contenant toutes les commandes que vous souhaitez exécuter.
Exemple: je voudrais télécharger et installer Drupal sur mon domaine avec PuTTY. Pour ce faire, vous devez:
Commencez par créer un fichier .txt. Dans ce fichier se trouvent les commandes. Les miens sont: "drush dl drupal} _" ligne suivante, "drush si --account-name = [nom du compte] --account-pass = [compte pass] --db-url = mysql : // [utilisateur]: [pass] @ localhost/[nom de la base de données] --y "
Après avoir enregistré ce fichier, vous allez maintenant créer un fichier BAT ou le saisir dans l'invite CMD:
PuTTY.exe -ssh [domain name] -l [username] -pw [password] -m [the directory of the .txt file you created which contains the codes you want to be executed]
Votre approche semble bonne, cependant, il existe un paramètre par défaut dans le comportement qui vous cause des problèmes et vous fait probablement croire que rien ne se passe.
Cependant, lorsque j'essaie de le faire, une nouvelle fenêtre apparaît pour PuTTY, mais se ferme et se ferme instantanément après la connexion.
Votre session se termine immédiatement après l'exécution de la commande et PuTTY ferme la fenêtre par défaut. Voir le documentation de PuTTY pour savoir comment changer ce comportement pour votre session.
4.1.3 `Close Window on Exit'
Finally in the Session panel, there is an option labelled `Close
Window on Exit'. This controls whether the PuTTY terminal window
disappears as soon as the session inside it terminates.
Il n'y aurait aucun problème si vous voulez simplement créer le fichier de commandes pour ouvrir la machine Unix. Voici l'exemple:
"PuTTY path" -ssh machinename -l username -pw password
Le chemin de PuTTY doit être entre guillemets, comme "C:\Program Files\PuTTY\putty.ext"
nom de machine = nom de machine sans guillemets
mot de passe = avec guillemets
En plus de la réponse d'Aviram:
Vous trouverez ci-dessous un exemple d'exécution des commandes PuTTY à partir de l'invite de commande:
Allez d'abord dans le répertoire d'installation de PuTTY, par exemple C:\Program Files\PuTTY
, puis exécutez la commande ci-dessous:
plink.exe -ssh server_ip -P numéro_port -l nom_utilisateur -pw mot de passe