SCP dans un script Shell sans utiliser RSA
Résolu
VilainMelkor
Messages postés
23
Statut
Membre
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
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 !
A voir également:
- SCP dans un script Shell sans utiliser RSA
- Classic shell - Télécharger - Personnalisation
- Comment utiliser chromecast sur tv - Guide
- Script vidéo youtube - Guide
- Utiliser iphone comme webcam - Guide
- Mas script - Accueil - Windows
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.
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.
Merci encore.
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
Bref si quelqu'un a une idée... Je serais la demain matin =)
Bonne fin de journée tout le monde.
# 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
Je ne sais pas ce que font les lignes :
Du coup j'ai essayé avec ou sans mais aucune différence.
#!/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...
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 :
Du coup en utilisant :
ç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
# 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