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 :

Python et SFTP


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Juillet 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Juillet 2018
    Messages : 9
    Par défaut Python et SFTP
    Bonjour,

    Actuellement j’essaie de faire une connection sur un server pour uploader un fichier en python.
    Chaque méthode que j’ai essayé je me retrouve avec des Connection refused.
    Pourtant avec filezilla et en ligne de commande (shell) ça fonctionne.
    Soit il y quelquechose que je ne comprends pas.
    Sur filezilla et en ligne de commande, il me demande de confirmer la clef.
    Mais sur python on fait comment ? Pour accepter cette clef ?

    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
     
     
    import paramiko
    import pysftp
     
    def ftpCnx():
     
        cinfo = {'host’:’125.251.101.70’, 'username':'mi’, 'password':'mi', 'port':21}
     
        with pysftp.Connection(**cinfo) as sftp:
     
            with sftp.cd('/var/www/html/'):
                sftp.get('/Users/Documents/') 
     
    if __name__ == '__main__':
        ftpCnx()
    et comme message j'ai ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Traceback (most recent call last):
      File "/Users/Documents/ftp.py", line 139, in <module>
        ftpCnx()
      File "/Users/Documents/ftp.py", line 122, in <module>
        with pysftp.Connection(**cinfo) as sftp:
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pysftp/__init__.py", line 140, in __init__
        self._start_transport(host, port)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pysftp/__init__.py", line 183, in _start_transport
        self._transport = paramiko.Transport((host, port))
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/paramiko/transport.py", line 332, in __init__
        'Unable to connect to {}: {}'.format(hostname, reason))
    paramiko.ssh_exception.SSHException: Unable to connect to 125.251.101.70: [Errno 61] Connection refused
    pourtant j'ai bien suivi la documentation.
    est ce qu'il est possible de coller la clef que j'ai utilisé en mode console ?
    est ce que quelqu'un sait d'ou vient mon erreur ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Salut,

    Tu mélanges des apostrophes différentes dans ton dictionnaire.
    Corrige déjà ça d'abord.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Juillet 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Juillet 2018
    Messages : 9
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Tu mélanges des apostrophes différentes dans ton dictionnaire.
    Corrige déjà ça d'abord.

    ok, mais ça ne vient pas de là.
    Donc pour plus de clarté pour tous le monde:
    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
     
    import paramiko
    import pysftp
     
    def ftpCnx():
     
        cinfo = {'host':'125.251.101.70', 'username':'mi', 'password':'mi', 'port':21}
     
        with pysftp.Connection(**cinfo) as sftp:
     
            with sftp.cd('/var/www/html/'):
                sftp.get('/Users/Documents/') 
     
    if __name__ == '__main__':
        ftpCnx()

  4. #4
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    tu te connecte sur le port 21 qui habituellement est le port de commande FTP
    SFTP est un sous-système de SSH, donc par défaut ça transite sur le port 22 (à moins que ton service sshd soit en écoute sur le port 21 m'enfin...)

  5. #5
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Juillet 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Juillet 2018
    Messages : 9
    Par défaut
    super merci à tous j'ai trouvé.
    mes erreurs grâce à vos remarques.
    je posterai la correction plus tard.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Juillet 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Juillet 2018
    Messages : 9
    Par défaut
    bonjour TT le monde.
    comme dis j'ai trouvé la réponse à ma question et merci à vous ça fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def transfert(loc,dist):
        ssh_client =paramiko.SSHClient()
        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh_client.connect(hostname=’235.151.21.73',username=‘pin’,password=‘pin', timeout=2, port=22)
        sftp_client=ssh_client.open_sftp()
        #local='/Users/Documents/test.txt'
        #distant='/var/www/html/test.txt'
        sftp_client.put(loc, dist)
        sftp_client.close()    
        sftp_client.close()
     
    if __name__ == '__main__':
        cnxFtp('/Users/Documents/test.txt')
    merci à tous et toutes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [langage] traduction d'un fonction python en perl
    Par ay_pepito dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2007, 15h06
  2. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  3. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 14h51
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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