web-dev-qa-db-fra.com

Comment éviter l'erreur de vérification du certificat lftp?

J'essaie de faire fonctionner mon blog Pelican . Il utilise lftp pour transférer le blog réel sur son serveur, mais j'obtiens toujours une erreur:

mirror: Fatal error: Certificate verification: subjectAltName does not match ‘blogname.com’

Je pense que lftp vérifie le SSL et la configuration rapide de Pelican a juste oublié d'inclure que je n'ai pas de SSL sur mon FTP.


Voici le code du Makefile de Pelican:

ftp_upload: $(OUTPUTDIR)/index.html
lftp ftp://$(FTP_USER)@$(FTP_Host) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"

qui se traduit dans le terminal comme:

    lftp ftp://[email protected] -e "mirror -R /Volumes/HD/Users/me/Test/output /myblog_directory ; quit"

Ce que j'ai réussi jusqu'à présent, c'est refuser la vérification SSL en changeant le Makefile en:

lftp ftp://$(FTP_USER)@$(FTP_Host) -e "set ftp:ssl-allow no" "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"

En raison de mon implémentation incorrecte, je me connecte correctement (lftp [email protected]:~>) mais la fonction d'une ligne ne fonctionne plus et je dois entrer la commande miroir à la main:

mirror -R /Volumes/HD/Users/me/Test/output/ /myblog_directory

Cela fonctionne sans erreur ni délai. La question est de savoir comment le faire avec une doublure.


De plus j'ai essayé:

  • set ssl:verify-certificate/ftp.myblog.com no
  • Cette astuce pour désactiver la vérification des certificats dans lftp:

    $ cat ~/.lftp/rc set ssl: vérifier-certificat non

Cependant, il semble qu'il n'y ait pas de dossier "rc" dans mon répertoire lftp - donc cette invite n'a aucune chance de fonctionner.

49
patrick

Depuis la page de manuel :

-c commandes
Exécutez les commandes données et quittez. Les commandes peuvent être séparées par un point-virgule (;), ET (&&) ou OR (||). N'oubliez pas de citer correctement l'argument des commandes dans le shell. Cette option doit être utilisée seule sans autres arguments.

Vous souhaitez donc spécifier les commandes comme un seul argument, séparées par des points-virgules:

lftp ftp://$(FTP_USER)@$(FTP_Host) -e "set ftp:ssl-allow no; mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"

Vous pouvez en fait omettre la commande quit et utiliser -c au lieu de -e.

45
mgorven

J'ai eu un problème similaire, bien que mon lftp ait un support SSL compilé dans (Fedora RPM). ssl:verify-certificate false a fait l'affaire pour moi.

39

echo "set ssl:verify-certificate no" >> ~/.lftp/rc

résoudra le problème si vous ne voulez pas que le certificat soit vérifié

22
Philippe Gachoud

ssl:verfy-certificate false ne fonctionnait pas pour moi, j'obtenais une erreur de temporisation lors de la "connexion de données".

J'ai suivi les instructions these en ajoutant set ftp:ssl-allow false à mon ~/.lftprc fichier.

8
desmillicious

De plus j'ai essayé:

  • set ssl: verify-certificate/ftp.myblog.com no
  • This astuce pour désactiver la vérification des certificats dans lftp:

$ cat ~/.lftp/rc set ssl: vérifier-certificat non

Essayez d'utiliser set ftp:ssl-allow no; cela a fonctionné comme un charme pour moi.

5
Lucas Farias

J'étais également confronté à un type similaire d'erreur de vérification de certificat SSL. Définir le certificat de vérification sur "non" a fonctionné pour moi.

Exemple:

lftp -c 'set ftps: initial-prot ""; set ftp: ssl-force true; définir ftp: ssl-protect-data true; set ssl: verify-certificate no; open -u Username, Password 208.82.204.46; mettre uploadfilename; '

4
Pritam

J'ai lu les pages de manuel et trouvé la solution. Créer un fichier

~/.lftp/rc

et ajoutez-y la ligne suivante:

set ssl:check-hostname false;
3
andrey--k

Besoin de la commande lftp: set ftp:ssl-allow no;

Vous pouvez exécuter la commande juste après avoir sélectionné:

lftp www.yourdomain.com -u username,password -e "set ftp:ssl-allow no;"

ou enregistrez la commande dans ~/.lftprc.

1
Nick Tsai
lftp -u username,password Host -e "set ftp:ssl-allow no" 

résolu le problème pour moi

0
ri825170