FTPS en PHP : client openssh 3.0.9, server openssh 1.1.1n

WRInaute accro
Bonjour

J'ai fait un bout de programme en php, qui se connecte en FTPS ( SSH over FTP ), mais j'obtiens le message d'erreur suivant :

Code:
* OpenSSL/3.0.9: error:0A00010B:SSL routines::wrong version number

Le serveur est Debian 10, le client est mon ordinateur sous Fedora 38.

La version de openssh serveur est : 1.1.1n et client : 3.0.9.

Dois-je obligatoirement migrer tout de suite vers Debian 11 ( ou 12 après le 10 Juin ) ?

Merci beaucoup.
 
WRInaute accro
Pardon

Voilà le résultat de ssh -V sur le server :

Code:
OpenSSH_8.4p1 Debian-2~bpo10+1, OpenSSL 1.1.1n  15 Mar 2022

Et ssh -Q key :

Code:
ssh-ed25519
ssh-ed25519-cert-v01@openssh.com
sk-ssh-ed25519@openssh.com
sk-ssh-ed25519-cert-v01@openssh.com
ssh-rsa
ssh-dss
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
sk-ecdsa-sha2-nistp256@openssh.com
ssh-rsa-cert-v01@openssh.com
ssh-dss-cert-v01@openssh.com
ecdsa-sha2-nistp256-cert-v01@openssh.com
ecdsa-sha2-nistp384-cert-v01@openssh.com
ecdsa-sha2-nistp521-cert-v01@openssh.com
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com

Et ssh -Q ciphers :

Code:
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com


Théoriquement pas besoin d'upgrader le server ?

L'erreur fournie par curl_errno($ch) est 35 .

C'est-à-dire : erreur à la connexion".

Une question : Pour du FTPS avec curl en PHP, suffit-il de mettre la clé : CURLOPT_CAINFO ?

Merci beaucoup.
 
WRInaute accro
J'ai essayé un code fiable théoriquement.

Le résultat:

Code:
*   Trying 152.228.170.112:XXXX...
* Connected to pronostics-courses.fr (152.228.170.112) port XXXX (#0)
*  CAfile: /home/ortolojf/updateSite/cacert.pem
*  CApath: none
* OpenSSL/3.0.9: error:0A00010B:SSL routines::wrong version number
* Closing connection 0

Que faire ?

Merci.
 
WRInaute accro
Bonjour

Pour le FTPS, est-ce que celà nécessite les clés privées et publiques ?

Et puis, ces clés sont-elles les clés Letsencrypt de ftp.pronostics-courses.fr ?

PHP:
curl_setopt($ch,  CURLOPT_SSH_PUBLIC_KEYFILE,  FTPS_PUBLIC_KEY);
curl_setopt($ch, CURLOPT_SSH_PRIVATE_KEYFILE,  FTPS_PRIVATE_KEY);

Merci.
 
WRInaute accro
Rebonjour

Il semblerait qu'il faille ajouter les clés publiques/privées.

Comment obtenir la clé au moins publique d'un certificat Letsencrypt ?

Merci beaucoup.
 
WRInaute accro
Bonjour

J'arrive à envoyer des fichiers en FTP non sécurisé, mais pas en FTPS.

Je ne dispose pas du protocole sftp, seulement ftps.

Quels certificats produire ?

Merci beaucoup.


PHP:
<?php

    $options = array(
        CURLOPT_FRESH_CONNECT => true,
        CURLOPT_PROTOCOLS => CURLPROTO_FTP,
        CURLOPT_UPLOAD => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_UNRESTRICTED_AUTH => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_VERBOSE => true,
        CURLOPT_STDERR => $fp_err,
        CURLOPT_WRITEHEADER => $fp_header,
//        CURLOPT_SSH_AUTH_TYPES => CURLSSH_AUTH_ANY,
//         CURLOPT_SSH_PUBLIC_KEYFILE => __DIR__ . '/cacert.pem',
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => 0,
        CURLOPT_FTP_USE_EPRT => false,
        CURLOPT_FTP_USE_EPSV => true,
        CURLOPT_USERNAME => $ftp_user,
        CURLOPT_PASSWORD => $ftp_password,
        CURLOPT_INFILE => $fp,
        CURLOPT_INFILESIZE => filesize($up_file));

?>
 
WRInaute accro
T'as SSH mais pas SFTP ? Je savais pas que c'était possible. D'ailleurs à quoi bon utiliser FTPS quand on a SFTP.
 
WRInaute accro
Bon

Je me suis décidé à downloader automatiquement mes certifs LetsEncrypt.

Lequel de ces deux certificats est le certif. CA Trusted ?

Merci beaucoup.


Code:
/etc/letsencrypt/live/pronostics-courses.fr/fullchain.pem

/etc/letsencrypt/live/pronostics-courses.fr/chain.pem
 
WRInaute accro
Bonjour

Il me semble que je fais du SSH over FTP sur le port XXXX.

Les certifs sont corrects manifestement.

Mais la connexion bloque :

Celà semble similaire à ce que j'obtenais lors d'une première connexion ( avec ssh ) où le fichier : /.ssh/known_hosts devait être alimenté pour que la connexion se fasse.

Par contre dans ces conditions la connect ssh passe sans problème.

Sinon çà pourrait être un bug dans ma config de proftpd ( sur mon VPS ).

Que faire ?

Merci beaucoup de votre aide.

Code:
*   Trying 152.228.170.112:XXXX...
* Connected to ftp.pronostics-courses.fr (152.228.170.112) port XXXX (#0)
< SSH-2.0-OpenSSH_8.4p1 Debian-2~bpo10+1
 
WRInaute accro
Excusez-moi Monsieur spout

Mon ordi est sous Linux Fedora 38.

Je ne dispose pas ( en tant que client ), du protocole sftp.

Par ailleurs, mon problème est résolu.

Le crontab quotidiennement déclenche la copie des certifs sur mon compte user.

Ces certifs Letsecnrypt sont renouvelés tous les deux mois.

Quand mes certifs clients deviennent obsolètes, je les downloade en FTP non sécurisé, puis je refais le FTPS.

Et les certifs sont enregistrés sur le compte user, sous des noms codés.

Evidemment aucune sécurité là-dedans.

Comme quoi, je suis un naïf... ;)
 
WRInaute accro
Excusez-moi

Après 'dnf upgrade' :


Code:
[ortolojf@fedora ~]$ curl -V
curl 8.0.1 (x86_64-redhat-linux-gnu) libcurl/8.0.1 OpenSSL/3.0.9 zlib/1.2.13 libidn2/2.3.4 nghttp2/1.52.0
Release-Date: 2023-03-20
Protocols: file ftp ftps http https
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz SPNEGO SSL threadsafe UnixSockets
 
Discussions similaires
Haut