Flux rss
Rechercher : dans
Par :

Script sur machine distante avec ssh

nabil1706, le lundi 18 décembre 2006 à 11:18:09 
 Signaler ce message aux modérateurs

Bonjour
voila mon script sur une machine distante :
#/bin/sh
_arg=$#

if [ $# -ne 1 ]; then
echo "Vous n'avez pas passe le bon nombre de parametre"
exit;
fi

get() {
file=$1;
nb=$2;
the_date=$(date '+%m'"_"'%Y')
echo $(tail -n 1 /home/voicemail/Statistics/Daily/Output/$file"_rep_"$the_date".csv" | cut -d',' -f$nb)
# > output.txt
}

arg=$1;

case $arg in
Call) get "StatProfileDailyCall" 2;
;;
Call1) get "StatProfileDailyCall" 3;
;;
Call2) get "StatProfileDailyCall" 5;
;;
Duration1) get "StatProfileDailyDuration" 2;
;;
Duration2) get "StatProfileDailyDuration" 3 ;
;;
Duration3) get "StatProfileDailyDuration" 6;
;;
Duration4) get "StatProfileDailyDuration" 7;
;;
Mbox) get "StatProfileDailyMbox" 2;
;;
Msg) get "StatProfileDailyMsg" 2;
;;
*) exit
;;
esac

J'aurai besoin d'un script qui lance ce script depuis une autre machine en ssh.... (donc en memorisant aussi mon mot de passe)
merci de votre aide

Configuration: Windows XP
Internet Explorer 6.0

1

mamiemando, le mardi 19 décembre 2006 à 00:35:20
  • +2

Ca se fait directement avec la commande ssh !

man ssh


Bonne chance

Répondre à mamiemando

2

jipicy, le mardi 19 décembre 2006 à 07:47:59
  • +2

Salut,

Regarde aussi du côté de la commande "expect".
Tu trouveras un exemple là.

;-)) Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

3

nabil1706, le mardi 19 décembre 2006 à 10:26:28
  • +1

Bonjour,
j'ai vu l'exemple, je m'en suis inspiré pour faire mon deuxieme script que voilà :
#!/usr/bin/expect -f

set force_conservative 1;

set timeout 3
spawn ssh -i /home/frnabe/.ssh/id_rsa -l script 212.151.167.136
expect "spawn ssh -i /home/frnabe/.ssh/id_rsa -l script 212.151.167.136\n
Enter passphrase for key '/home/frnabe/.ssh/id_rsa':"
send "mdp\r"
expect "\[script@vel-vms-db-1 script\]$"
send ".\/case_test Call\r"
expect "\[script@vel-vms-db-1 script\]$"
send "exit\r"
interact

au niveau de la connection, je ne sais pas comment lui indiquer d'utiliser des arguments et comment lui afficher le résultat sur la machine ou je lance ce script
Merci

Répondre à nabil1706

4

nabil1706, le mercredi 20 décembre 2006 à 11:23:25
  • +1

Voila mon script qui me permet de recupere des fichiers sur une machine distante, et j'aimerai y intégrer une variable qui prenne les valeurs dont j'ai besoin pour ne ne pas à avoir à ecrire les mêmes commandes à la suite (ici Call , Call1, et il y en a 8 autres)

#!/usr/bin/expect -f

set i [lrange $argv 0 0]

set timeout 3

spawn /usr/bin/scp -i /home/frnabe/.ssh/id_rsa script@222.151.167.136:/home/script/output_Cal
l.txt /home/frnabe;
expect "spawn /usr/bin/scp script@222.151.167.136:/home/script/output_Call.txt /home/frnabe\
n
Enter passphrase for key '/home/frnabe/.ssh/id_rsa':"
send "mdp\r"
interact

spawn /usr/bin/scp -i /home/frnabe/.ssh/id_rsa script@222.151.167.136:/home/script/output_Cal
l1.txt /home/frnabe;
expect "spawn /usr/bin/scp script@222.151.167.136:/home/script/output_Call1.txt /home/frnabe
\n
Enter passphrase for key '/home/frnabe/.ssh/id_rsa':"
send "mdp\r"
interact

Merci

Répondre à nabil1706

5

mamiemando, le jeudi 21 décembre 2006 à 01:58:47
  • +1

Moi je dis que tu te casses bien là tête. Il suffit de faire un système de clé SSH pour ne pas avoir à saisir le mot de passe,
http://www.noplay.net/Utilisation-des-clefs-SSH.html

... et d'appeler le script distant sur la même ligne que la commande ssh.

ssh login@hostname /le/script/a/lancer.sh

Bonne chance

Répondre à mamiemando

6

nabil1706, le jeudi 21 décembre 2006 à 10:16:42
  • +1

Merci de ta reponse,
mais il faut aussi que je rapatrie les fichiers que j'ai créés dans ce meme script

Répondre à nabil1706

7

mamiemando, le jeudi 21 décembre 2006 à 13:40:59
  • +1

Bon tu as deux PC :
- le pc A qui à ton script actuel
- le pc B qui pilote le script du pc A par ssh.

Tu as deux solutions :
- soit le pc B demande à A d'éxécuter le script, et ce script fait un scp des fichier de A vers B. Ca force à faire une clé ssh supplémentaire (de A vers B) c'est pas forcément top.
- soit tu crées un script sur le pc B, qui lance le script de A, puis rappatrie via scp les fichiers chez lui. Du coup pas besoin de clé ssh supplémentaire c'est toujours celle de B vers A qui est autorisée.

Bonne chance

Répondre à mamiemando

8

nabil1706, le vendredi 22 décembre 2006 à 11:06:46
  • +1

Merci
j'avais opter pour la deuxieme solution
Maintenant il ne me reste plus qu'a mettre mon script EXPECT dans la crontab..Mais ça marcje pas
une idée ?

Répondre à nabil1706

9

mamiemando, le vendredi 22 décembre 2006 à 14:22:06
  • +3

Ben il faut voir ce que tu as mis dans ta crontab, si le script à les droits en exécution... ce genre de choses :-)

Bonne chance

Répondre à mamiemando

10

 nabil1706, le vendredi 22 décembre 2006 à 14:49:08
  • +1

Oui il a tous les droits
sinon voilà mon script qui fonctionne
#!/usr/bin/expect -f

set i [lrange $argv 0 0]
set timeout 1

spawn /usr/bin/scp -i /home/frt2noc/.ssh/id_rsa script@222.151.167.136:/home/script/stats/Daily/StatProfileD­aily* /home/frnoc;
expect "spawn /usr/bin/scp script@222.151.167.136:/home/script/stats/Daily/StatProfileDaily* /home/frnoc\n
Enter passphrase for key '/home/frnoc/.ssh/id_rsa':"
send "mdp\r"
expect eof


J'avais un INTERACT a la fin de mon script et il faut l'enlever et le remplacer par EXPECT EOF quand on le met dans la crontab

merci, et j'espere que ça aidera qqu'un d'autre ;-))

Répondre à nabil1706
Powershell netstat et machine distante Bonjour, je suis actuellement bloqué dans mon programme en PowerShell. je cherche à effectuer un netstat -ano sur une machine distante. Le problème venant du fait que je dois le faire en powershell. J'y arrive sur une machine locale mais pas du tout à... www.commentcamarche.net/forum/affich-12517837-powershell-netstat-et-machine-distante
Lancer script machine distante via ssh Bonjour, Je suis sur une machine UNIX. J'ai besoin d'executer un script sur une machine distante. Le probleme c'est que je ne peux ni utiliser 'expect' ni ssh avec l'authentification cle publique / cle privee. Je m'explique : ma machine A vient de... www.commentcamarche.net/forum/affich-12329000-lancer-script-machine-distante-via-ssh
Script pour pinger une machine distante Bonjour, Je suis en train de travailler sur une plateforme AIX et je dois modifier un shell pour pouvoir tester la connexion d'un machine distante . Auriez vous 1 script sous shell me permettant de tester le ping car je ne sais pas koi tester en... www.commentcamarche.net/forum/affich-1021344-script-pour-pinger-une-machine-distante
Se logguer à distance avec ssh (Linux)(Pour ceux qui voudraient avoir un rappel sur SSH : http://www.commentcamarche.net/crypto/ssh.php3) Les commandes suivantes nécessitent d'avoir un compte sur la machine sur laquelle on veut se connecter et qu'un serveur SSH y soit installé. ... www.commentcamarche.net/faq/sujet-74-se-logguer-a-distance-avec-ssh-linux
Accéder à distance à sa machine (VNC+ssh)L'astuce suivante vous permettra d'accéder à distance à votre machine de manière graphique. Nous allons utiliser le serveur VNC inclu dans Ubuntu (Vino) en le sécurisant par ssh. Vous pourrez alors accéder à distance à votre PC avec ssh et vnc... www.commentcamarche.net/faq/sujet-17620-acceder-a-distance-a-sa-machine-vnc-ssh
Se logguer à distance avec ssh ( Windows )( Pour ceux qui voudraient avoir un rappel sur ssh : http://www.commentcamarche.net/crypto/ssh.php3 ) Contrairement à la plupart des distributions Linux, Windows ne possède pas de client ssh en natif. Il faut donc en installer un. ... www.commentcamarche.net/faq/sujet-80-se-logguer-a-distance-avec-ssh-windows
[expect] connexion a une machine distante SSHBonjour a tous, j'ai un script en expect qui se connecte a une machine distante en SSH. Lorsqu'il est connecté, il doit executer une certaine commande. La commande se lance correctement, et affiche un resultat qui défile. Le probleme est qu'au bout de... www.commentcamarche.net/forum/affich-3059424-expect-connexion-a-une-machine-distante-ssh
VirtualBox sur machine distant Dedibox (Résolu)Bonjour, Je voudrais savoir si quelqu'un a déjà réussi à faire tournet des machines virtuells sur des pc sans écrans. Je m'explique: Je souhaite lancer mes machines sur un pc distant disons Dedibox. Jusqu'à maintenant, je me connecte en ssh sur le pc... www.commentcamarche.net/forum/affich-4479525-virtualbox-sur-machine-distant-dedibox
[SSH] Ecrire un script pour connexion SSHSalut a tous! Je voudrais ecrire un script qui me permettrai depuis linux de lancer une connexion ssh sur le PC Windows Executer une commande (Exemple : Dir) Crer un fichier de resultat (dir > test.txt) Recuperer ce fichier Sachant que j'ai SSH et que... www.commentcamarche.net/forum/affich-2340762-ssh-ecrire-un-script-pour-connexion-ssh