Ich habe einen gemeinsam genutzten gehosteten Server mit FTPS-Zugriff und kann ihn über Filezilla mit der folgenden Konfiguration verbinden:
<?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>
Es ncftp
ist einfacher, ich verwende einfach den folgenden Befehl .ncftp -u [email protected] -P 21 ftp://ftp.idrissi.co
Aber wenn ich versuche, mit demlftp
Tool schlägt fehl. Mit lftp
verwende ich die folgende Konfiguration:
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 »
Ich habe viele Variationen ausprobiert, lftp-script
aber es funktioniert nicht. Und ich verstehe nicht, wie Fillezilla das mit einer minimalistischen Konfiguration hinbekommen hat. Wie kann ich mich also mit meinem FTP-Konto verbinden?
Antwort1
Endlich verstehe ich es.
Das Problem wird durch gelöst set ssl:check-hostname false
.