Como evitar erro de verificação de certificado lftp?

38

Eu estou tentando obter o meu Pelican blogue trabalhando. Ele usa o lftp para transferir o blog atual para o servidor, mas eu sempre recebo um erro:

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

Eu acho lftp está verificando o SSL ea instalação rápida de Pelican só esqueceu de incluir que eu não tenho SSL no meu FTP.

Este é o código no Makefile da Pelican:

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

que processa no terminal como:

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

O que eu consegui até agora é negar a verificação SSL alterando o Makefile para:

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

Devido à minha aplicação incorrecta entro em corretamente ( lftp [email protected]:~> ), mas o recurso de uma linha não funciona mais e eu tenho que digitar o comando espelho à mão:

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

Isso funciona sem erro e tempo limite. A questão é como fazer isso com um único liner.

Além disso, tentei:

  • set ssl:verify-certificate/ftp.myblog.com no
  • Este truque para desativar a verificação do certificado em lftp:

    $ cat ~ / .lftp / rc set ssl: verify-certificate não

No entanto, parece que não existe uma pasta "rc" no meu diretório lftp - então este prompt não tem chance de funcionar.

    
por pattulus 27.07.2012 / 20:56

8 respostas

35

Na página de manual :

-c commands
Execute the given commands and exit. Commands can be separated with a semicolon (;), AND (&&) or OR (||). Remember to quote the commands argument properly in the shell. This option must be used alone without other arguments.

Assim, você deseja especificar os comandos como um único argumento, separados por ponto e vírgula:

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

Você pode realmente omitir o comando quit e usar -c em vez de -e .

    
por 27.07.2012 / 21:00
29

Eu tive um problema semelhante, embora meu lftp tenha suporte a SSL compilado em (Fedora RPM). ssl:verify-certificate false fez o truque para mim.

    
por 29.11.2012 / 22:07
14

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

resolverá o problema se você não quiser que o certificado seja verificado

    
por 06.10.2015 / 10:20
7

ssl:verfy-certificate false não funcionou para mim, estava recebendo um erro de tempo limite ao "fazer conexão de dados".

Eu segui estas instruções adicionando set ftp:ssl-allow false ao meu arquivo ~/.lftprc .

    
por 04.02.2014 / 09:08
4

Eu também estava enfrentando um tipo semelhante de erro de verificação de certificado SSL. Definir certificado de verificação para 'não' funcionou para mim.

Exemplo:

lftp -c 'set ftps: inicial-prot ""; set ftp: ssl-force true; set ftp: ssl-protect-data true; set ssl: verify-certificate não; open -u Usename, Password 208.82.204.46; coloque uploadfilename; '

    
por 22.07.2015 / 17:28
4

In addition I tried:

  • set ssl:verify-certificate/ftp.myblog.com no
  • This trick to disable certificate verification in lftp:

$ cat ~/.lftp/rc set ssl:verify-certificate no

Tente usar set ftp:ssl-allow no ; funcionou como um encanto para mim.

    
por 26.08.2015 / 20:20
3

Eu li man pages e encontrei a solução. Criar arquivo

~/.lftp/rc

e adicione lá a próxima linha:

set ssl:check-hostname false;
    
por 06.03.2015 / 09:54
0

Precisa do comando lftp: set ftp:ssl-allow no;

Você pode executar o comando logo após selecionar:

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

ou salve o comando em ~/.lftprc .

    
por 31.03.2018 / 17:14