|
|
|
|
Posté par
Linux_fedora, le mercredi 16 août 2006 à 12:24:37Après avoir initialisé les variables monport et monserveur:
johan@johan:~$ ssh -l johand -p $monport $monserveur ls /mnt/hda4/johand/ISOS > file.txt Password: johan@johan:~$ cat file.txt dfs-0.99.0_i386.iso dfs-0.99.0_i386.iso.md5 dsl-3.0.iso IDE-3.1.2a.iso.bz2 pcbsd reactos0.3.0-RC1-live.zip ReactOS-LiveCD.iso ubuntu La redirection est effectuée sur le client johan@johan:~$ ssh -l johand -p $monport $monserveur 'ls /mnt/hda4/johand/ISOS > file.txt' Password: johan@johan:~$ ssh -l johand -p $monport $monserveur 'cat file.txt' Password: dfs-0.99.0_i386.iso dfs-0.99.0_i386.iso.md5 dsl-3.0.iso IDE-3.1.2a.iso.bz2 pcbsd reactos0.3.0-RC1-live.zip ReactOS-LiveCD.iso ubuntu La redirection est effectuée sur le serveur distant. On peut évidemment effectuer une suite de commandes ne demanadant pas d'interractivité: johan@johan:~$ ssh -l johand -p $monport $monserveur "echo \"N'importe quoi\" > file.txt; cat file.txt; pwd" Password: N'importe quoi /home/johand johan@johan:~$ scp -P $monport johand@$monserveur:file.txt . Password: file.txt 100% 15 0.0KB/s 00:00 Il faut trouver une solution pour l'envoi du mot de passe... (il y avait expect dans le temps) Johan Gates gave you the windows. GNU gave us the whole house.(Alexandrin)
|
A priori c'est possible donc.
Mais je vois pas comment prendre en compte la commande expect. Pourriez vous m'ecrire le script avec cette commande pour le password et pour l'exemple que j'ai mis plus haut? Ce que je voudrai c'est juste a avoir a lancer le script par la suite. Merci encore pour l'aide! |
Re-
Regarde dans le "man" d'expect et surtout la fonction "autoexpect" (man autoexpect), qui génère un fichier d'après toutes les commandes tapées en mode interactif. Je te file ce que j'ai comme liens là-dessus : http://modp.com/release/sshpasswords/ http://www.linuxlots.com/~barreiro/spain/expect/ http://www.oreilly.com/catalog/expect/chapter/ch03.html http://www.cotse.com/dlf/man/expect/index.htm ;-)) Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Salut
C'est ok pour la commande expect. Mais dans : johan@johan:~$ ssh -l johand -p $monport $monserveur "echo \"N'importe quoi\" > file.txt; cat file.txt; pwd" Avec la commande dir cela ferait bien : johan@johan:~$ ssh -l johand -p $monport $monserveur "echo \"dir\" > file.txt; cat file.txt; pwd" Seulement cela ne marche pas (ca cre un fichier avec le mot dir dedans), est ce qu'il faur activer echo 1 pour ce genre de commande ou pas?
|
Desole je vais essayer de mieux expliquer
Je suis sur un client linux fedora et je veux executer ce script vers un serveur distant WINDOWS XP. Je veux que le script: - se connecte sur le serveur distant Win XP - execute la commance DIR - Cre un fichier de resultat _ importe le fichier de resultat chez le linux Voila pour l'instant mon script (grace a votre aide) #!/usr/bin/expect -f set timeout 60 spawn ssh user@xxx.xxx.x.x "echo \dir > file.txt" expect "password: $" send "xxxxxxxx\n" interact spawn sftp user@xxx.xxx.x.x:file.txt expect "password: $" send "xxxxxxx\n" interact Il me fait tres bien tout sauf executer une vraie commande DIR avamt de creer le fichier de resultat Le fichier creer contient le mot "dir"!! Voila j'espere que c'est plus clair
|
Oui il y a Opensshd dessus.
Si je fait spawn ssh user@xxx.xxx.x.x "dir > file.txt" Il me fait un message d'erreur dir not found Alors que cette commande marche tres bien si je la fais apres une connexion manuelle! Tu vois une solution? |
J'ai trouve une solution en utilisant le pipe
J'ai fait un script ssh1: #!/usr/bin/expect -f send_user "dir > file.txt\n" Et si je lance manuellement dans le terminal: /home/ssh1 | ssh user@xxx.xxx.x.x Cele execute bien la commande dir > file.txt et le fichier est cree contenent bien les resultat de dir! Le probleme est que si j'integre ca dans le script global pour que ce soit automatique: #!/usr/bin/expect -f set timeout 60 spawn /home/ssh1 | user@xxx.xxx.x.x expect "password: $" send "xxxxx\n" interact spawn sftp user@xxx.xxx.x.x:file.txt expect "password: $" send "xxxxxx\n" interact Il accepte pas la commande spawn /home/ssh1 | user@xxx.xxx.x.x Que faire ?? |
Voilà un script qui marche bien chez moi dans les mêmes conditions que les tiennes, à savoir un client Linux (OpenSSH_4.3p1) qui se connecte au serveur Windows 2000 (OpenSSH_3.8.1p1) .
Le script : #!/usr/bin/expect -f set force_conservative 1; set timeout 3 spawn ssh 192.168.10.1 expect "password:\r" send -- "xxxxxxx\r" expect "C:\Program Files\OpenSSH\home\jp>" send -- "dir > fichier.txt\r" expect "C:\Program Files\OpenSSH\home\jp>" send -- "dir\r" expect "C:\Program Files\OpenSSH\home\jp>" send_user "Bye-bye\n" puts "\n" exitLe résultat en direct live ;-)) [jp@MDK tmpfs]$ ./script.sh spawn ssh 192.168.10.1 ****USAGE WARNING**** [...] blablabla [...] jp@192.168.10.1's password: Last login: Thu Aug 17 18:05:09 2006 from mdk.localdomain Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\Program Files\OpenSSH\home\jp>dir > fichier.txt C:\Program Files\OpenSSH\home\jp>dir Le volume dans le lecteur C s'appelle WK2Pro Le numro de srie du volume est 5878-57AE Rpertoire de C:\Program Files\OpenSSH\home\jp 17/08/2006 18:06 <DIR> . 17/08/2006 18:06 <DIR> .. 17/08/2006 18:06 434 fichier.txt 17/08/2006 13:23 <DIR> ssh 1 fichier(s) 434 octets 3 Rp(s) 465ÿ195ÿ008 octets libres C:\Program Files\OpenSSH\home\jp>Bye-bye [jp@MDK tmpfs]$Ca marche ;-)) Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Exact ca marche!!
Tout est dans la force_conservative Merci!
|
| 08/09 02h46 | [Personnaliser] Thème Logon Logoff Bootscreen | Windows XP |
| 13/02 21h43 | Créer une machine virtuelle Kubuntu avec XP | Autres systèmes |
| 26/02 09h45 | Changer de gestionnaire de fenêtre sous Gnome | Linux |
| 02/06 11h09 | Installer Linux sans repartitionner (avec Wubi) | Linux |
| 06/06 13h32 | Installer Linux en reparitionnant | Linux |
| 27/03 00h32 | [SSH] probleme de connexion avec cle publ/pri | 1 |
| 31/12 10h26 | Debian écran de connection | 2 |
| 17/12 14h13 | [ssh] pb de connexion serveur ssh, port 22 | 12 |
| 22/07 16h29 | Ecrire script shell (en bash) | 9 |
![]() | SSH Secure Shell - SSH secure shell for workstations est un client SSH flexible permettant de se connecter de façon sécurisée à des... | Catégorie: Telnet/SSH Licence: Open Source |
![]() | All In One Video Script - All In One Video Script est un script pour l'extension GreaseMonkey pour le navigateur Firefox permettant de détecter la... | Catégorie: Vidéo Licence: Freeware/gratuit |
![]() | WAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de... | Catégorie: Serveurs Licence: Freeware/gratuit |
![]() | Slide Freebie - Slide Freebie est une visionneuse d'images (animées ou non). Il suffit de glisser/déposer le dossier contenant les... | Catégorie: Diaporama Licence: Freeware/gratuit |
![]() | Connect3D Radeon HD | Catégorie: Carte graphique | 141.30 € Atlanpolis |
![]() | Connect3D Radeon HD | Catégorie: Carte graphique | 218.99 € Atlanpolis |
![]() | Connect3D Radeon X1600 | Catégorie: Carte graphique | 95.00 € Web Achat France |
![]() | Connect3D Radeon HD | Catégorie: Carte graphique | 152.99 € Atlanpolis |