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

Linux Discussion :

[Débutant] Spécifier un password dans un script (rlogin par exp).


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 63
    Points : 45
    Points
    45
    Par défaut [Débutant] Spécifier un password dans un script (rlogin par exp).
    Bonjour à tous...

    j'essaie de faire un script qui se connecte à une machine distante, qui fait un ls et qui stocke le résultat dans un fichier (local).

    D'où ma question :

    Comment faire pour spécifier le password ? En gros quand je fais la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rlogin -l username serveur
    Il demande "Password:" après... Moi je voudrais le mettre directement dans le script, j'ai essayé des choses comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rlogin -l username serveur | echo "password"
    Mais ça ne marche pas

    Merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 739
    Points : 31 068
    Points
    31 068
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par WerKa Voir le message
    Il demande "Password:" après... Moi je voudrais le mettre directement dans le script, j'ai essayé des choses comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rlogin -l username serveur | echo "password"
    Mais ça ne marche pas

    Merci d'avance !
    Déjà tu n'as pas pigé le pipe. Un pipe permet de rediriger la sortie d'une commande A vers l'entrée d'une commande B et c'écrit de la forme
    commandeA | commandeB (dans le même sens que l'écoulement imaginaire)

    Donc pour toi, ce serait "echo password | rlogin machin" mais le problème, c'est que le pipe anihile toute l'entrée standard. C'est à dire que rlogin, qui est sensé attendre (une fois connecté bien sûr) que tu tapes des commandes pour les exécuter, ira prendre ses commandes non pas au clavier mais dans le pipe => tu ne pourras taper aucune commande.

    Faut que tu regardes dans ta configuration si ton rlogin accepte que le mot de passe soit rentré par une option style rlogin -p password ou par la lecture d'un fichier de config style rlogin -f file_config avec le mot de passe dans le fichier de config. Mais je doute que ce soit possible vu que cela induirait une faille de sécurité.

    Sinon tu vas sur le host cible (donc le serveur je crois) et tu crées un fichier ".rhosts" dans le dossier du compte sur lequel tu veux te connecter et tu remplis ce fichier en indiquant la machine qui sera autorisée à venir sur ce compte. Une fois fait, tu pourras aller sur la machine en question et taper "rlogin serveur" sans que le serveur te demande un mot de passe.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 72
    Points : 84
    Points
    84
    Par défaut
    La communication inter-processus est là pour cela...

    à partir d'un programme, fais un fork() pour appeler le processus souhaité.
    Le but est au préalable de connecter la sortie standard du processus père sur l'entrée standard du processus fils (cf. pipe) : Si tu écris à la sortie standard, cela va émuler (grossièrement) le clavier.

    + pour les détails, je laisse Google te guider

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 739
    Points : 31 068
    Points
    31 068
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par djnos Voir le message
    La communication inter-processus est là pour cela...

    à partir d'un programme, fais un fork() pour appeler le processus souhaité.
    Le but est au préalable de connecter la sortie standard du processus père sur l'entrée standard du processus fils (cf. pipe) : Si tu écris à la sortie standard, cela va émuler (grossièrement) le clavier.

    + pour les détails, je laisse Google te guider
    Alors là t'es d'une clarté et d'une limpidité sans nom. Tu l'envoies sur le fork() sans même savoir s'il connait le C !!! Et en plus t'as même pas lu ce que j'ai écrit => si tu émules le clavier, que ce soit avec un pipe via commande ou un pipe via programmation système, toute la session rlogin prendra ses ordres dans le pipe => tu ne pourras taper aucune commande (ou plutôt rien de ce que tu tapes sera traité par le rlogin).

    Par ailleurs, certains programme (comme password) refusent toute entrée qui n'est pas le clavier (faille de sécurité sinon). Il est possible que les commandes rlogin fassent de même...

  5. #5
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Tout d'abord, es-tu conscient que du point de vue sécurité, mettre un mot de passe en clair dans un script est une ânerie ?

    Si tu tiens à utiliser rlogin, pourquoi ne pas renseigner le .rhosts de la machine distante ?
    Sinon, la solution sécurisée consiste à utiliser ssh avec échange de clef.

Discussions similaires

  1. [8.4] Mettre un password dans un script de sauvegarde
    Par joujousagem2006 dans le forum Administration
    Réponses: 1
    Dernier message: 30/10/2013, 19h25
  2. [Prototype] Changer le fichier xml dans un script javascript par un lien HTML
    Par ditow dans le forum Bibliothèques & Frameworks
    Réponses: 23
    Dernier message: 15/12/2010, 12h58
  3. Spécifier l'adresse d'une image dans un script
    Par greggy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/03/2007, 18h23
  4. [Débutant]Intégrer du perl dans un script bash
    Par kromartien dans le forum Langage
    Réponses: 3
    Dernier message: 06/03/2007, 00h23
  5. Réponses: 4
    Dernier message: 16/06/2006, 14h56

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