lftp コマンドで Certificate verification とエラーが出るときの対処方法

結論

  1. ~/.lftp/rcというファイルをディレクトリ込みで作る*1
  2. ~/.lftp/rcファイルに次の一行を書き込んで保存する
set ssl:verify-certificate no

これで、エラーが出なくなるはずです*2

具体的にどう怒られるのか

こんな感じでコマンド(ここでは ls コマンド)を実行しようとすると怒られます。

ls: 致命的エラー: Certificate verification: certificate common name doesn't match requested host name ‘your.host.name’

参考(感謝)

補足

mirror コマンド

今の時代はrsyncでまず解決するでしょうが*3geocities.jpみたいなところがまだまれによくあるのでlftpはありがたいです。mirrorコマンドを使えばある程度のことはできるでしょう。mirrorコマンドには詳細なオプションがあります*4。軽量言語内にlftpを実行するコードを組み込めばさらにいろいろできるでしょう。

mirrorコマンドなどの詳細は以下のページが大変わかりやすかったです(感謝!)。

各種コマンド

各種コマンドの細かい説明は以下のページがよかったです*5

一番いいのは man

$ man lftpが充実しすぎなので、それを読むのが一番いいと思います。[Webページとしても用意されている]ので(https://lftp.yar.ru/lftp-man.html)そちらも参考にしましょう。例えば冒頭の設定ファイルの場所については以下のように記述されています。設定ファイルに書き込める内容についても膨大な分量で説明してくれています。

On startup, lftp  executes  ~/.lftprc  and  ~/.lftp/rc  (or  ~/.config/lftp/rc  if ~/.lftp  does  not  exist). 

*1:後述の man に記載されている場所でも OK

*2:あまり前向きな解決法ではありませんが

*3:ftp はめちゃくちゃ遅いですし

*4:$ man lftp で確認をしてみてください

*5:$ man lftp が一番よいですが

Powered by はてなブログ