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

Réseau/Web Python Discussion :

Connexion SSH via Paramiko


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Novembre 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur validation

    Informations forums :
    Inscription : Novembre 2021
    Messages : 7
    Par défaut Connexion SSH via Paramiko
    Bonjour,

    j'ai un soucis avec une connexion SSH via paramiko.
    Je dois me connecter en ssh a un serveur puis une fois connecter a ce serveur j'accède a un deuxième.
    Je ne peux pas accéder au deuxième serveur sans m'être connecté au deuxième, on pourrait appeler celui-ci un sous serveur.

    Pour me connecter j'ai essayer plusieurs methode :
    - Envoyer les commandes de connexion en bash directement sur le premier serveur avec stdin, stdout, stderr = clientSoc.exec_command('') (ca a échoué)
    - Créer deux connexion SSH avec paramiko (ca a échoué également)

    Auriez-vous une solution ?

    Merci beaucoup !

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 770
    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 770
    Par défaut
    Salut,

    Citation Envoyé par tinut Voir le message
    Auriez-vous une solution ?
    Le serveur intermédiaire étant une sorte de proxy, je regarderai ce qu'on peut faire avec le ProxyCommand de paramiko.

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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Novembre 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur validation

    Informations forums :
    Inscription : Novembre 2021
    Messages : 7
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Le serveur intermédiaire étant une sorte de proxy, je regarderai ce qu'on peut faire avec le ProxyCommand de paramiko.

    - W
    Ok, je vais regarder ca de plus près... Merci

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Novembre 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur validation

    Informations forums :
    Inscription : Novembre 2021
    Messages : 7
    Par défaut
    Dans le code ci-dessous j'utilise donc la commande paramiko proxy mais je ne sais pas comment je peux récupérer le résultat de la commande..

    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
    # -*- coding: utf-8 -*-
     
    import paramiko #importation d'une lib pour ssh
    #paramiko.common.logging.basicConfig(level=paramiko.common.DEBUG)
     
    clientSoc = paramiko.SSHClient()
    clientSoc.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    clientSoc.connect('192.0.0.0', username='root', password='')
     
    stdin, stdout, stderr = clientSoc.exec_command('hostname') #envoi de la commande via ssh
    linesSoc = stdout.readlines() #on récupère la ligne en sortie
    print(linesSoc) #on affiche la ligne récupérée
     
    proxy ="ssh root@192.0.0.1"
     
    paramiko.ProxyCommand(proxy)
    paramiko.ProxyCommand('hostname')
     
    clientSoc.close()

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 770
    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 770
    Par défaut
    Citation Envoyé par tinut Voir le message
    Dans le code ci-dessous j'utilise donc la commande paramiko proxy mais je ne sais pas comment je peux récupérer le résultat de la commande..
    Vous avez des codes qui existent (en cherchant un peu sur Internet) dont vous pourriez vous inspirer.
    Après, les détails dépendent de la configuration et ça met du temps à mettre au point.

    note: vous avez la possibilité de faire la même chose avec la commande ssh (au niveau du shell). C'est un bon point de départ pour séparer les problèmes du à la configuration ou à la programmation.

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

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Novembre 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur validation

    Informations forums :
    Inscription : Novembre 2021
    Messages : 7
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Vous avez des codes qui existent (en cherchant un peu sur Internet) dont vous pourriez vous inspirer.
    Après, les détails dépendent de la configuration et ça met du temps à mettre au point.

    note: vous avez la possibilité de faire la même chose avec la commande ssh (au niveau du shell). C'est un bon point de départ pour séparer les problèmes du à la configuration ou à la programmation.

    - W
    Justement j'y ai pensé et je me suis rendu compte que même en shell je bloque

    j'ai fais ce petit programme :

    #!/bin/sh
    ssh root@192.0.0.0 'ssh root@192.0.0.1'

    et j'obtiens cette erreur :

    Pseudo-terminal will not be allocated because stdin is not a terminal.
    Host key verification failed.

Discussions similaires

  1. [Python 3.X] Problème connexion SSH avec paramiko
    Par dark_vidor dans le forum Général Python
    Réponses: 0
    Dernier message: 15/10/2020, 12h14
  2. Connexion ssh via Visual Studio
    Par salimou90 dans le forum VB.NET
    Réponses: 5
    Dernier message: 20/05/2019, 17h01
  3. Établir une connexion SSH via une interface Web
    Par BlackHat-Out dans le forum Langage
    Réponses: 1
    Dernier message: 10/12/2018, 15h21
  4. Echec de connexion ssh avec paramiko
    Par stinng dans le forum Général Python
    Réponses: 16
    Dernier message: 31/08/2016, 17h35
  5. [Système] Connexion ssh par exec via le web
    Par naourass dans le forum Langage
    Réponses: 9
    Dernier message: 01/12/2005, 12h08

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