FTPS アクセスを備えた共有ホスト サーバーを所有しており、次の構成で Filezilla 経由で接続できます。
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<FileZilla3>
<Servers>
<Server>
<Host>ftp.idrissi.co</Host>
<Port>21</Port>
<Protocol>4</Protocol>
<Type>0</Type>
<User>[email protected]</User>
<Logontype>2</Logontype>
<TimezoneOffset>0</TimezoneOffset>
<PasvMode>MODE_DEFAULT</PasvMode>
<MaximumMultipleConnections>0</MaximumMultipleConnections>
<EncodingType>Auto</EncodingType>
<BypassProxy>0</BypassProxy>
<Name>ftp.idrissi.co</Name>
<Comments />
<LocalDir />
<RemoteDir />
<SyncBrowsing>0</SyncBrowsing>ftp.idrissi.co
</Server>
</Servers>
</FileZilla3>
よりシンプルなのでncftp
、次のコマンドを使用します。ncftp -u [email protected] -P 21 ftp://ftp.idrissi.co
しかし、lftp
ツールは失敗します。 ではlftp
、次の構成を使用します。
1d [fauve:~/lftptest] % openssl s_client -starttls ftp -crlf -connect ftp.idrissi.co:21 > ftp-idrissi-temp.cert
1d [fauve:~/lftptest] 130 % cat ftp-idrissi-temp.cert | pcregrep -M '\-----BEGIN CERTIFICATE-----(.*\n)*.*-----END CERTIFICATE-----' > ftp-idrissi.cert
1d [fauve:~/lftptest] % vim ftp-idrissi.cert
1d [fauve:~/lftptest] % cat lftp-script
set ftps:initial-prot P
set ftp:ssl-force true
set ftp:ssl-protect-data true
set ssl:cert-file ./ftp-idrissi.cert
ls
1d [fauve:~/lftptest] % lftp -e "`cat lftp-script| sed 's/\n/; /'`" -p 21 -u [email protected] ftps://ftp.idrissi.co
ls: Erreur fatale: gnutls_handshake: An unexpected TLS packet was received.
1d [fauve:~/lftptest] 1 % lftp -e "`cat lftp-script| sed 's/\n/; /'`" -p 21 -u [email protected] ftp://ftp.idrissi.co
ls: Erreur fatale: Certificate verification: certificate common name doesn't match requested host name « ftp.idrissi.co »
いろいろな方法を試しましたlftp-script
が、うまくいきません。また、Fillezilla が最小限の設定でそれを実現できる理由もわかりません。では、どうすれば FTP アカウントに接続できるのでしょうか?
答え1
やっと分かりました。
この問題は によって解決されますset ssl:check-hostname false
。