Próbuję uruchomić mojego bloga Pelikana . Używa lftp do przeniesienia aktualnego bloga na serwer, ale zawsze pojawia się błąd:
mirror: Fatal error: Certificate verification: subjectAltName does not match ‘blogname.com’
Myślę, że lftp sprawdza SSL, a szybka konfiguracja Pelikana po prostu zapomniała dodać, że nie mam SSL na moim FTP.
Oto kod w Makefile Pelikana:
ftp_upload: $(OUTPUTDIR)/index.html
lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
który renderuje się w terminalu jako:
lftp ftp://[email protected] -e "mirror -R /Volumes/HD/Users/me/Test/output /myblog_directory ; quit"
Do tej pory zarządzałem, odmawiając sprawdzenia SSL, zmieniając Makefile na:
lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "set ftp:ssl-allow no" "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
Z powodu mojej niepoprawnej implementacji loguję się poprawnie ( lftp [email protected]:~>
), ale funkcja jednowierszowa już nie działa i muszę ręcznie wprowadzić polecenie dublowania:
mirror -R /Volumes/HD/Users/me/Test/output/ /myblog_directory
Działa to bez błędu i limitu czasu. Pytanie brzmi, jak to zrobić za pomocą jednej wkładki.
Ponadto próbowałem:
set ssl:verify-certificate/ftp.myblog.com no
Ta sztuczka, aby wyłączyć weryfikację certyfikatu w lftp:
$ cat ~ / .lftp / rc set ssl: numer-certyfikatu weryfikacyjnego
Wygląda jednak na to, że w moim katalogu lftp nie ma folderu „rc” - więc ten monit nie ma szans na zadziałanie.
źródło
~/.lftprc
jest plikiemOdpowiedzi:
Z strony podręcznika :
Więc chcesz podać polecenia jako pojedynczy argument oddzielony średnikami:
Możesz faktycznie pominąć
quit
polecenie i użyć-c
zamiast-e
.źródło
Miałem podobny problem, chociaż moja lftp ma skompilowaną obsługę ssl (Fedora RPM).
ssl:verify-certificate false
zrobił dla mnie lewę.źródło
set ssl:verify-certificate false
swój~/.lftprc
rozwiązany problem.echo "set ssl:verify-certificate no" >> ~/.lftp/rc
rozwiąże problem, jeśli nie chcesz, aby certyfikat był sprawdzany
źródło
set ssl:verify-certificate no
w powłoce lftp, aby wyłączyć tymczasową dla bieżącej sesji, niż zawsze. Nadal +1 za rozwiązanie.ssl:verfy-certificate false
nie działało dla mnie, pojawiał się błąd przekroczenia limitu czasu podczas „nawiązywania połączenia danych”.Postępowałem zgodnie z tymi instrukcjami, dodając
set ftp:ssl-allow false
do mojego~/.lftprc
pliku.źródło
Spróbuj użyć
set ftp:ssl-allow no
; działało to dla mnie jak urok.źródło
lftp -f <script>
i umieścić to polecenie przed poleceniem open.set ssl:verify-certificate no
myślę, że lepiej, ponieważ transakcja pozostaje zabezpieczona.set ftp:ssl-allow no
przekaże zwykły tekstNapotkałem również podobny błąd związany z weryfikacją certyfikatu ssl. Ustawienie certyfikatu weryfikacyjnego na „nie” działało dla mnie.
Przykład:
lftp -c 'ustaw ftps: initial-prot ""; ustaw ftp: ssl-force true; ustaw ftp: ssl-protect-data true; ustaw ssl: numer-certyfikatu-weryfikacji; otwórz -u nazwa użytkownika, hasło 208.82.204.46; wstaw uploadfilename; '
źródło
Przeczytałem strony podręcznika man i znalazłem rozwiązanie. Utwórz plik
i dodaj tam następną linię:
źródło
Potrzebujesz polecenia lftp:
set ftp:ssl-allow no;
Możesz wykonać polecenie zaraz po wybraniu:
lub zapisz polecenie w
~/.lftprc
.źródło
naprawiono problem dla mnie
źródło