web-dev-qa-db-ja.com

lftp証明書検証エラーを回避する方法

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」フォルダがないようです。そのため、このプロンプトは機能しません。

49
patrick

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を使用できます。

45
mgorven

同じような問題がありましたが、lftpにはsslサポートが組み込まれています(Fedora RPM)。 ssl:verify-certificate falseトリックをしてくれました。

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

証明書をチェックしたくない場合は問題を解決します

22

ssl:verfy-certificate falseが機能しませんでした。「データ接続を行う」ときにタイムアウトエラーが発生しました。

私は these 命令をset ftp:ssl-allow false わたしの ~/.lftprcファイル。

8
desmillicious

さらに、私は試しました:

  • set ssl:verify-certificate/ftp.myblog.com no
  • これ lftpで証明書の検証を無効にするトリック:

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

set ftp:ssl-allow noを使用してみてください。それは私にとって魅力のように働きました。

5
Lucas Farias

私も同様の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;アップロードファイル名を入力してください; '

4
Pritam

私はマニュアルページを読み、解決策を見つけました。ファイルを作成する

~/.lftp/rc

そしてそこに次の行を追加します:

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

Lftpコマンドが必要です:set ftp:ssl-allow no;

以下を選択した直後にコマンドを実行できます。

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

または、コマンドを~/.lftprcに保存します。

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

私の問題を修正しました

0
ri825170