IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

ftplib FTP_TLS Certificat RSA (freebox)


Sujet :

Python

  1. #1
    Membre averti
    Avatar de michelgard
    Homme Profil pro
    Formateur
    Inscrit en
    Mars 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 28
    Billets dans le blog
    3
    Par défaut ftplib FTP_TLS Certificat RSA (freebox)
    Bonjour,

    Je cherche à me connecter un un serveur FTP (freebox) qui utilise en certificat en RSA. J'ai fait pas mal d'essai avec des réusite de connexion (très longue) hier et aujourd'hui impossible.

    Mon code (juste la connexion) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    from ftplib import FTP_TLS
     
    ftp = FTP_TLS(timeout=10)
    ftp.connect(adresseftp)
    ftp.auth()
    ftp.prot_p()
    ftp.login(nom, mdpasse)
    Et voilà l'erreur :

    ftp = connexionftp(serveur, user, mdp, mode)

    File "11_test_ftp.py", line 24, in connexionftp

    ftp.auth()

    File "/usr/lib/python2.7/ftplib.py", line 652, in auth

    ssl_version=self.ssl_version)

    File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket

    ciphers=ciphers)

    File "/usr/lib/python2.7/ssl.py", line 143, in __init__

    self.do_handshake()

    File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake

    self._sslobj.do_handshake()

    ssl.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

    Merci d'avance pour vos idées.

  2. #2
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Salut,

    Tu recois un "alert" TLS, ce qui veux dire que l'initialisation de la connexion coince. Ca peut etre du a plusieurs facteurs (version TLS negotiee, ciphers disponibles, ...).
    Prends une capture avec Wireshark et tu en sauras plus.

  3. #3
    Membre averti
    Avatar de michelgard
    Homme Profil pro
    Formateur
    Inscrit en
    Mars 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 28
    Billets dans le blog
    3
    Par défaut
    Je connais pas Wireshark !!!

  4. #4
    Membre averti
    Avatar de michelgard
    Homme Profil pro
    Formateur
    Inscrit en
    Mars 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 28
    Billets dans le blog
    3
    Par défaut
    Je peux pas tester j'ai pas d'accès en bureau sur mon serveur mais seulement en ligne de commande.
    Une autre idée ?
    Merci

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 726
    Par défaut
    Salut,

    Citation Envoyé par michelgard Voir le message
    Je peux pas tester j'ai pas d'accès en bureau sur mon serveur mais seulement en ligne de commande.
    Une autre idée ?
    La seule chose qu'on peut dire c'est qu'il y un bug quelque part. Comme il n'y a que vous qui puissiez le reproduire, pas facile de faire un diagnostic à votre place.
    La seule chose envisageable serait de donner un coup de pied dans le machin.
    Installez la dernière version de Python et essayez de voir si le problème persiste ou pas.
    nota çà permettra d'avoir les corrections de tous les problèmes connus.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Avatar de michelgard
    Homme Profil pro
    Formateur
    Inscrit en
    Mars 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 28
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Je ne sais pas informatique ce que veut dire : " La seule chose envisageable serait de donner un coup de pied dans le machin. "

    Mais j'ai fait un test en python 3 avec un autre message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Traceback (most recent call last):                                                                                                                           
      File "10_test_ftp.py", line 8, in <module>                                                                                                                 
        ftp.prot_p()                                                                                                                                             
      File "/usr/lib/python3.2/ftplib.py", line 693, in prot_p                                                                                                   
        self.voidcmd('PBSZ 0')                                                                                                                                   
      File "/usr/lib/python3.2/ftplib.py", line 260, in voidcmd                                                                                                  
        return self.voidresp()                                                                                                                                   
      File "/usr/lib/python3.2/ftplib.py", line 234, in voidresp                                                                                                 
        resp = self.getresp()                                                                                                                                    
      File "/usr/lib/python3.2/ftplib.py", line 229, in getresp                                                                                                  
        raise error_perm(resp)                                                                                                                                   
    ftplib.error_perm: 503 PBSZ needs a secure connection.
    ...

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 726
    Par défaut
    Citation Envoyé par michelgard Voir le message
    Je ne sais pas informatique ce que veut dire : " La seule chose envisageable serait de donner un coup de pied dans le machin. "
    C'est ce que vous êtes en train de faire: taper à droite et à gauche dans le brouillard.

    Citation Envoyé par michelgard Voir le message
    Mais j'ai fait un test en python 3 avec un autre message d'erreur :
    3.2, c'est un petit coup de pied çà! allez en 3.5 carrément et on regardera ce qui vient.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre averti
    Avatar de michelgard
    Homme Profil pro
    Formateur
    Inscrit en
    Mars 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 28
    Billets dans le blog
    3
    Par défaut
    Et voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Traceback (most recent call last):                                                                                                                           
      File "10_test_ftp.py", line 7, in <module>                                                                                                                 
        ftp.prot_p()                                                                                                                                             
      File "/usr/local/lib/python3.5/ftplib.py", line 779, in prot_p                                                                                             
        self.voidcmd('PBSZ 0')                                                                                                                                   
      File "/usr/local/lib/python3.5/ftplib.py", line 277, in voidcmd                                                                                            
        return self.voidresp()                                                                                                                                   
      File "/usr/local/lib/python3.5/ftplib.py", line 250, in voidresp                                                                                           
        resp = self.getresp()                                                                                                                                    
      File "/usr/local/lib/python3.5/ftplib.py", line 245, in getresp                                                                                            
        raise error_perm(resp)                                                                                                                                   
    ftplib.error_perm: 503 PBSZ needs a secure connection.

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 726
    Par défaut
    Essayez voir avec la séquence:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    from ftplib import FTP_TLS
     
    ftp = FTP_TLS(timeout=10)
    ftp.connect(adresseftp)
    ftp.login(nom, mdpasse)
    ftp.prot_p()
    (toujours sur Python 3.5).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Membre averti
    Avatar de michelgard
    Homme Profil pro
    Formateur
    Inscrit en
    Mars 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 28
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Essayez voir avec la séquence:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    from ftplib import FTP_TLS
     
    ftp = FTP_TLS(timeout=10)
    ftp.connect(adresseftp)
    ftp.login(nom, mdpasse)
    ftp.prot_p()
    (toujours sur Python 3.5).

    - W
    Yes ça marche !!! en python 3.5
    Merci

  11. #11
    Membre averti
    Avatar de michelgard
    Homme Profil pro
    Formateur
    Inscrit en
    Mars 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 28
    Billets dans le blog
    3
    Par défaut
    Bon ben j'ai avancé avec vous mais encore un petit soucis sur l'upload des fichiers.
    La fonction était ok en 2.7 et ne marche plus maintenant.

    La fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def uploadftp(ftp, ficdsk, numero,nombreFichier, ficftp=None):
        repdsk, ficdsk2 = os.path.split(ficdsk)
        if ficftp==None:
            ficftp = ficdsk2
            print(ficftp)
            print(ficdsk)
        with open(ficdsk, "rb") as f:
            ftp.storbinary('STOR ' + ficftp, f)
        verbose('Fichier : ' + str(numero) + '/' + str(nombreFichier) + ' uploader sur le serveur')
    Et l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Creation dossier temporaire OK                                                                                                                               
    Mode compression tar.bz2 OK                                                                                                                                  
    Dossier /var/www/dashscreen archive OK                                                                                                                       
    Dossier /var/www/domotic archive OK                                                                                                                          
    Attente connexion FTP .....                                                                                                                                  
    Destination : Disque dur/CloudVPS                                                                                                                            
    Connexion FTP OK                                                                                                                                             
    Etat :  220 Welcome to Freebox FTP Server.                                                                                                                   
    2-var-www-dashscreen.tar.bz2                                                                                                                                 
    /home/michelgard/ftp_python/temp/2-var-www-dashscreen.tar.bz2                                                                                                
    Traceback (most recent call last):                                                                                                                           
      File "11_test_ftp.py", line 145, in <module>                                                                                                               
        uploadftp(ftp, fichier, numero, nombreFichier, ficftp=None)                                                                                              
      File "11_test_ftp.py", line 62, in uploadftp                                                                                                               
        ftp.storbinary('STOR ' + ficftp, f)                                                                                                                      
      File "/usr/local/lib/python3.5/ftplib.py", line 508, in storbinary                                                                                         
        conn.sendall(buf)                                                                                                                                        
      File "/usr/local/lib/python3.5/ssl.py", line 886, in sendall                                                                                               
        v = self.send(data[count:])                                                                                                                              
      File "/usr/local/lib/python3.5/ssl.py", line 856, in send                                                                                                  
        return self._sslobj.write(data)                                                                                                                          
      File "/usr/local/lib/python3.5/ssl.py", line 581, in write                                                                                                 
        return self._sslobj.write(data)                                                                                                                          
    ConnectionResetError: [Errno 104] Connection reset by peer
    Sur ma Freebox j'ai bien le nom du 1er fichier mais vide


    Merci

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 726
    Par défaut
    Citation Envoyé par michelgard Voir le message
    Bon ben j'ai avancé avec vous mais encore un petit soucis sur l'upload des fichiers.
    Vous allez trop vite.
    Pour l'instant, çà dit que vous avez un bug dans le serveur FTP de la freebox: la manip. que je vous ai proposé n'est qu'un contournement.
    Pour ce qui est de:
    Citation Envoyé par michelgard Voir le message
    ConnectionResetError: [Errno 104] Connection reset by peer
    Ca dit seulement que la freebox en a raz le bol et qu'elle a fermé la connexion: il n'y a pas grand chose à moudre côté Python et côté freebox, quoi regarder? je ne sais pas.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Membre averti
    Avatar de michelgard
    Homme Profil pro
    Formateur
    Inscrit en
    Mars 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Mars 2015
    Messages : 28
    Billets dans le blog
    3
    Par défaut
    Bon pour l'instant j'ai laissé de coté la connexion avec ma FreeBox en FTP mais j'ai continué mon programme en python 3.5 de sauvegarde d'un serveur Cloud VPS sur un autre serveur en FTP.
    Il marche bien sur différent FTP (sauf freebox) avec la possibilité d'avoir du SSL. On peut sauvegarder des répertoires (à choisir) et des bases de donnée (à choisir). Les choix et les connexions se fond dans un fichier config.

    Vous trouverez tout cela ici : http://rasp-pi.fr.nf/python-3-backup-serveur-vps/

    Je reprendrai la connexion sur Freebox dans quelques temps (je l'aurai un jour je l'aurai ...)

    Michel
    hhtp://rasp-pi.fr.nf

Discussions similaires

  1. [Python 2.X] ftplib + freebox V6 et HDD externe
    Par rezuz dans le forum Réseau/Web
    Réponses: 9
    Dernier message: 05/01/2016, 15h00
  2. récupération clé publique rsa dans un certificat
    Par Bathou dans le forum Réseau
    Réponses: 15
    Dernier message: 26/09/2008, 10h51
  3. Vérifier clé RSA et certificat associé
    Par beLz dans le forum Sécurité
    Réponses: 0
    Dernier message: 31/01/2008, 13h21
  4. cherche algos encryption en RSA et ELGAMAL
    Par Vermin dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 04/11/2002, 08h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo