Pelicanブログ を動作させようとしています。 lftpを使用して実際のブログをサーバーに転送しますが、常にエラーが発生します。
mirror: Fatal error: Certificate verification: subjectAltName does not match ‘blogname.com’
LftpがSSLをチェックしていて、Pelicanのクイックセットアップで、FTPにSSLがないことを含めるのを忘れていると思います。
これはペリカンのメイクファイルのコードです:
ftp_upload: $(OUTPUTDIR)/index.html
lftp ftp://$(FTP_USER)@$(FTP_Host) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
これはターミナルで次のようにレンダリングされます:
lftp ftp://[email protected] -e "mirror -R /Volumes/HD/Users/me/Test/output /myblog_directory ; quit"
これまでのところ、Makefileを次のように変更してSSLチェックを拒否しています。
lftp ftp://$(FTP_USER)@$(FTP_Host) -e "set ftp:ssl-allow no" "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
正しくない実装が原因で、正しくログインできます(lftp [email protected]:~>
)しかし、1行機能が機能しなくなり、ミラーコマンドを手動で入力する必要があります。
mirror -R /Volumes/HD/Users/me/Test/output/ /myblog_directory
これはエラーやタイムアウトなしで機能します。 問題は、1つのライナーでこれを行う方法です
さらに、私は試しました:
set ssl:verify-certificate/ftp.myblog.com no
このトリック lftpで証明書の検証を無効にするには:
$ cat〜/ .lftp/rc set ssl:verify-certificate no
しかし、私のlftpディレクトリには「rc」フォルダがないようです。そのため、このプロンプトは機能しません。
manpage から:
-cコマンド
指定されたコマンドを実行して終了します。コマンドはセミコロン(;
)、AND(&&
)またはOR(||
)で区切ることができます。コマンド引数は、シェル。このオプションは、他の引数なしで単独で使用する必要があります。
したがって、コマンドをセミコロンで区切って単一の引数として指定する必要があります。
lftp ftp://$(FTP_USER)@$(FTP_Host) -e "set ftp:ssl-allow no; mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
実際にはquit
コマンドを省略して、-c
の代わりに-e
を使用できます。
同じような問題がありましたが、lftpにはsslサポートが組み込まれています(Fedora RPM)。 ssl:verify-certificate false
トリックをしてくれました。
echo "set ssl:verify-certificate no" >> ~/.lftp/rc
証明書をチェックしたくない場合は問題を解決します
ssl:verfy-certificate false
が機能しませんでした。「データ接続を行う」ときにタイムアウトエラーが発生しました。
私は these 命令をset ftp:ssl-allow false
わたしの ~/.lftprc
ファイル。
さらに、私は試しました:
- set ssl:verify-certificate/ftp.myblog.com no
- これ lftpで証明書の検証を無効にするトリック:
$ cat〜/ .lftp/rc set ssl:verify-certificate no
set ftp:ssl-allow no
を使用してみてください。それは私にとって魅力のように働きました。
私も同様のSSL証明書検証エラーに直面していました。 verify-certificateを 'no'に設定するとうまくいきました。
例:
lftp -c 'set ftps:initial-prot ""; ftp:ssl-forceをtrueに設定します。 ftp:ssl-protect-dataをtrueに設定します。 set ssl:verify-certificate no; open -u Usename、Password 208.82.204.46;アップロードファイル名を入力してください; '
私はマニュアルページを読み、解決策を見つけました。ファイルを作成する
~/.lftp/rc
そしてそこに次の行を追加します:
set ssl:check-hostname false;
Lftpコマンドが必要です:set ftp:ssl-allow no;
以下を選択した直後にコマンドを実行できます。
lftp www.yourdomain.com -u username,password -e "set ftp:ssl-allow no;"
または、コマンドを~/.lftprc
に保存します。
lftp -u username,password Host -e "set ftp:ssl-allow no"
私の問題を修正しました