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

Shell et commandes GNU Discussion :

Script de connexion ssh


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 278
    Par défaut Script de connexion ssh
    Bonjour à tous,
    Je souhaiterais savoir si il est possible de créer un script de connexion. La connexion se fait sans mot de passe pour monUser (RSA)
    J'ai testé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
    ip=xxxxx
    su -l monUser
    ssh root@$ip
    mysqldump ....
    Cela me fait bien passer sur la console de l'utilsateur monUser. Par contre la commande ssh est toujours exécuté par l'utilisateur précédent (avant commande su -l).
    Est ce possible et si oui Comment dois je procéder pour que la commande soit executer par le prompt de monUser ?

    Merci

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    bonjour

    Je suis prêt à parier que la commande ssh s'exécute normalement. Elle rend donc la main à ton script qui exécute mysqldump.

    Ton script devrait être argument de ssh. N'est-ce pas ?

    Comment vois-tu que l'utilisateur précédent est utilisé ?

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    Bonjour,

    tout est normal.

    su -l monUser fait passer l'utilisateur qui appelle le script sur le compte de monUser;
    mais il ne se passe rien : le shell attend une instruction.
    normal !
    donc, un Ctrl-D te ramène sur le compte de l'utilisateur qui appelle le script.

    ensuite, ssh root@$ip te connecte , en tant que root à la machine $ip;
    mais il ne se passe rien : le shell attend une instruction.
    normal !
    donc, un Ctrl-D te ramène sur la machine sur laquelle est en train de tourner le script, sur le compte de l'utilisateur qui appelle le script.

    enfin, mysqldump est exécuté sur la machine locale avec le compte de l'utilisateur qui appelle le script.
    normal !

    tout est normal.


    qu'est-ce que tu veux faire, précisémment ?
    s'il te plaît, détaille les opérations que tu veux effectuer, où, par qui...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par alex8276 Voir le message
    J'ai testé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
    ip=xxxxx
    su -l monUser
    ssh root@$ip
    mysqldump ....
    Cela me fait bien passer sur la console de l'utilsateur monUser.
    Mouais...

    On dirait plutôt que ça lance un shell interactif pour monUser.

    Par contre la commande ssh est toujours exécuté par l'utilisateur précédent (avant commande su -l).
    Normal (Voir réponses de Flodelarab et N_BaH)

    Est ce possible et si oui Comment dois je procéder pour que la commande soit executer par le prompt de monUser ?
    Pour que la commande soit exécutée par le shell (et non le prompt) de monUser, il faut demander à "su" de l'exécuter en la lui passant en argument avec l'option "-c":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su -l monUser -c "ssh root@$ip"

Discussions similaires

  1. Script pour connexion ssh
    Par sinc59 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 21/05/2013, 20h40
  2. connexion ssh dans un script ksh
    Par don'de dans le forum Linux
    Réponses: 4
    Dernier message: 21/01/2008, 10h50
  3. script munin via double connexion ssh
    Par twistope dans le forum Administration système
    Réponses: 1
    Dernier message: 16/01/2008, 15h08
  4. script de connexion par ssh
    Par black_code dans le forum Modules
    Réponses: 2
    Dernier message: 25/07/2005, 15h10

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