web-dev-qa-db-ja.com

コマンドラインからlftpでSSL / TLSセキュリティメカニズムを使用するにはどうすればよいですか?

ftpsサイトにログインしようとしています。コマンドラインでログインクレデンシャルを与えて(そしてsetパラメータを~/.lftprcに入れてから、lftpセッションを開いてlftpでこれらのパラメータを入力してみましたジョブコントロールステートメントにかかわらず、私は同じ障害にぶつかっています。

 421 Sorry, cleartext sessions are not accepted on this server.
 Please reconnect using SSL/TLS security mechanisms.

次のパラメータを使用するとさらに問題が発生しましたが、上記のエラーが発生し続けます。

コマンドラインからlftpにSSL/TLSセキュリティメカニズムを使用させるには?

目的は、bashを使用してこのftpsサイトへのアクセスをスクリプト化することです(expectを使用しないプログラミング)。

 lftp
 lftp :~> set ssl-allow false
 lftp :~> set passive-mode yes
 lftp :~> open ftp.abc.com
 lftp ftp.abc.com:~> login theuser
 Password:
 lftp [email protected]:~> cd
  `cd' at 0 [Delaying before reconnect: 26]
 CTRL-C
 lftp [email protected]:~> debug
 lftp [email protected]:~> cd
 ---- Connecting to ftp.abc.com (XX.XXX.XX.XX) port 21
 <--- 220-Welcome to the Yahoo! Web Hosting FTP server
 <--- 220-Need help? Get all details at:
 <--- 220-http://help.yahoo.com/help/us/webhosting/gftp/
 <--- 220-
 <--- 220-No anonymous logins accepted.
 <--- 220-Yahoo!
 <--- 220-Local time is now 15:30. Server port: 21.
 <--- 220-This is a private system - No anonymous login
 <--- 220 You will be disconnected after 5 minutes of inactivity.
 ---> FEAT
 <--- 211-Extensions supported:
 <---  EPRT
 <---  IDLE
 <---  MDTM
 <---  SIZE
 <---  MFMT
 <---  REST STREAM
 <---  MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
 <---  MLSD
 <---  XDBG
 <---  AUTH TLS
 <---  PBSZ
 <---  PROT
 <---  TVFS
 <---  ESTA
 <---  PASV
 <---  EPSV
 <---  SPSV
 <---  ESTP
 <--- 211 End.
 ---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
 <--- 200  MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
 ---> USER theuser
 <--- 421 Sorry, cleartext sessions are not accepted on this server.
 Please reconnect using SSL/TLS security mechanisms.
7
user2105469

lftp:〜> set ssl-allow false

明示的にssl-allowをfalseに設定しました。しかし、lftpがSSLを使用しようとする場合、これは当てはまります。

16
Steffen Ullrich

Lftpが多くのシステムで正しく構成されていないようで、サーバー証明書を検証できません(Fatal error: Certificate verification: Not trustedを生成)。

Web(およびこの投稿の回答)には、証明書の検証または暗号化を完全に無効にすることによってこれを修正するための提案がたくさんあります。これはunsecureであり、中間者攻撃が気付かれずに通過するためです。

より良い解決策は、証明書の検証を正しく構成することです。これは幸いにも簡単です。そのためには、次の行を/etc/lftp.conf(または~/.lftp/rc、または~/.config/lftp/rc)に追加します。

set ssl:ca-file "/etc/ssl/certs/ca-certificates.crt"

ca-certificates.crtは、システムのすべてのCA証明書を含むファイルです。上記で使用されている場所はUbuntuのものであり、システムによって異なる場合があります。ファイルを生成または更新するには、 update-ca-certificates を実行します。

Sudo update-ca-certificates

システムにこのコマンドがない場合は、次のように手動で作成できます。

cat /etc/ssl/certs/*.pem | Sudo tee /etc/ssl/certs/ca-certificates.crt > /dev/null
15
ingomueller.net

あなたもする必要があるかもしれません

set ssl:verify-certificate no
8
mbeltagy

設定ftp:ssl-allow trueが機能しませんでした。

setと入力すると、

lftp :~> set

私はこれに気づきました:

set ftp:ssl-allow true
set ftp:ssl-allow/XXX.XXX.XXX.XXX no

xXX.XXX.XXX.XXXがサーバーなので、ログインしていました。

だから私が必要とする最後のコマンドセットは:

lftp :~> set ftp:ssl-allow true
lftp :~> set ftp:ssl-allow/XXX.XXX.XXX.XXX true
lftp :~> set ssl:verify-certificate no
3
Nik

lftpバージョンは4.6.3以上でなければなりません(Debianユーザー)

1
salsalito

これは、lftpを使用したFTPSサーバー接続(ポート990を使用しますが、指定する必要はありません)で機能しました

コード:lftp ftps://USER:[email protected] -c "set ssl:verify-certificate false;"

その後:何かをする

詳細: how-to-avoid-lftp-certificate-verification-error

0
JNey