SCP dans un script Shell sans utiliser RSA
Résolu
VilainMelkor
Messages postés
23
Statut
Membre
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je viens vers vous pour un problème auquel je suis confronté depuis hier et que je n'arrive pas a régler.
En effet, j'ai développé un petit script de backup en Shell pour un serveur sous Linux, et j'aurais besoin d'envoyer l'archive ainsi crée sur un NAS distant.
Pour cela j'ai d'abord pensé à utilisé SCP, le problème étant que je ne peux pas utiliser d'authentification RSA car la conf du NAS est remise à zéro tous les jours.
Du coup je me demandais si il existait une autre solution, peut-être en passant le password depuis un fichier ou je ne sais quoi d'autre.
Dans le cas ou mon problème serait insoluble avec SCP, peut-être existe il d'autres solutions, comme monter le NAS sur le serveur avec Samba afin de copier directement mon archive...
En tout cas toute aide est la bienvenue.
Merci d'avance !
Je viens vers vous pour un problème auquel je suis confronté depuis hier et que je n'arrive pas a régler.
En effet, j'ai développé un petit script de backup en Shell pour un serveur sous Linux, et j'aurais besoin d'envoyer l'archive ainsi crée sur un NAS distant.
Pour cela j'ai d'abord pensé à utilisé SCP, le problème étant que je ne peux pas utiliser d'authentification RSA car la conf du NAS est remise à zéro tous les jours.
Du coup je me demandais si il existait une autre solution, peut-être en passant le password depuis un fichier ou je ne sais quoi d'autre.
Dans le cas ou mon problème serait insoluble avec SCP, peut-être existe il d'autres solutions, comme monter le NAS sur le serveur avec Samba afin de copier directement mon archive...
En tout cas toute aide est la bienvenue.
Merci d'avance !
6 réponses
-
Salut,
Tu peux utiliser "expect" pour transmettre le login et le password.
Tu peux utiliser "rsync" aussi si le NAS le permet et si la réinitialisation ne touche pas à la conf....
Si un serveur FTP est actif sur le NAS, via "lftp" ça doit être jouable.
-
Merci bien pour ces pistes, la commande expect a l'air de faire ce dont j'ai besoin, mais le man est plutôt fouillis, aurais-tu s'il te plait un exemple d'utilisation avec scp ?
Merci encore.-
Là ;-))
-
-
-
Bon bon, après moults tests, je n'arrive pas à faire fonctionner expect, c'est étrange j'ai pourtant bien installé le paquet, mais il ne trouve pas les commandes d'expect
# sh testExpect.sh testExpect.sh: line 4: spawn: command not found couldn't read file "Password:\r": no such file or directory testExpect.sh: line 6: send: command not found
Bref si quelqu'un a une idée... Je serais la demain matin =)
Bonne fin de journée tout le monde. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Voila mon script, il est très basique c'est juste pour tester le fonctionnement d'expect
#!/usr/bin/expect -f set force_conservative 1 ; set timeout 3 spawn scp /home/backup_global/log.txt root@192.168.69.210:/home/www/testscp/ expect "Password:\r" send -- "[password_server]\r"
Je ne sais pas ce que font les lignes :set force_conservative 1 ; set timeout 3
Du coup j'ai essayé avec ou sans mais aucune différence.-
Vérifie que "Expect" est bien dans "/usr/bin/expect".
Remplace les retours chariots "\r" par des sauts de ligne "\n".
Je viens de tester chez moi et y'a pas de soucis...
$ cat foo.sh #!/usr/bin/expect -f set force_conservative 1 ; set timeout 2 spawn scp -P 222 plop root@192.168.10.20:/root/ expect "password:\n" send -- "xxxxxxx\n" expect -gl "\\\[*]\$*" $ ./foo.sh spawn scp -P 222 plop root@192.168.10.20:/root/ root@192.168.10.20's password: plop 100% 0 0.0KB/s 00:00 $
-
-
Bon OK je viens de voir pourquoi depuis le début rien ne marche, je lançais mon script avec :
# sh testExpect.sh
Du coup en utilisant :# ./testExpect.sh
ça marche beaucoup mieux ^^
Je viens de régler mes derniers petits soucis, ça marche sur la Debian et l'openSUSE.
Merci beaucoup en tout cas pour ta précieuse aide !
Je repasserai si d'autre petit problèmes se posent à moi.
Bonne journée