Bonjour,
J'essaie de faire un script avec la commande lftp. Le soucis c'est que j'ai un mot de passe très compliqué avec des meta caractère, du style %ftp&23b#
Je set donc ma variables $pass comme ceci :
pass=`echo %ftp&23b#`
mais la commande suivante :
lftp -c "open $host; user $user $pass ; get file.zip ; bye"
me donne l'erreur suivante :
Commande inconnue « 23b# ».
C'est bien que lftp a interpréter le meta caractère " & "
Comment faire pour que lftp prenne le mot de passe en entier ?
# shell à vie
Posté par ecid . Évalué à 5.
lftp -c 'open $host;user $user "'$pass'";get file.zip;bye'
ou
lftp -c "open $host;user $user '"$pass"';get file.zip;bye"
Côté sécurité, le mot de passe est visible quand tu listes les processus :( (bon, ftp c'est déjà pas top, mais c'est un autre débat).
[^] # Re: shell à vie
Posté par dubis . Évalué à 2.
lftp -c "open $host;user $user '"$pass"';get file.zip;bye"
Merci Ecid
[^] # Re: shell à vie
Posté par Psychofox (Mastodon) . Évalué à 4.
(bon, ftp c'est déjà pas top, mais c'est un autre débat).
D'autant plus que lftp ne fait pas que du ftp. Il peut faire du sftp par exemple (mais dans ce cas la on utiliserait justement des paires de clés plutôt qu'un mot de passe).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.