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 :

Problème script ssh


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Problème script ssh
    Bonjour,

    Je suis en train de realiser un petit script shell afin de facilité la gestion de plusieurs routeurs sur lesquel je dois fréquement faire des modifications.

    Pour cela , je souhaite realiser un script qui me connecte en ssh à tous les routeurs et d'executer les modifications

    Je rencontre un problème au niveau de l'authentification sur les routeur car lors de la connexion ssh :

    ssh -l admin 192.168.0.1
    password

    le script ne prend pas en compte la validation de la première ligne.

    Je n'ai pas trouver la commande ssh qui me permet de passer directement le mot de passe (je suis surement passé à coté ).

    Pourriez-vous m'eclairer a ce sujet?

  2. #2
    Membre expérimenté

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Points : 1 609
    Points
    1 609
    Par défaut
    salut
    utilises un mécanisme de clés partagées, afin de pouvoir instancier une connexion sans avoir besoin de mot de passe

  3. #3
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par chaval
    salut
    utilises un mécanisme de clés partagées, afin de pouvoir instancier une connexion sans avoir besoin de mot de passe

    +1 avec un lien http://forums.gentoo.org/viewtopic.php?t=281671

  4. #4
    Membre éprouvé
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Points : 953
    Points
    953
    Par défaut
    Sinon, la commande qu'il recherche, ce serait pas :

    ssh admin@192.168.0.1

    ?

  5. #5
    Membre averti Avatar de temar
    Profil pro
    Étudiant
    Inscrit en
    Août 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 316
    Points : 300
    Points
    300
    Par défaut
    Citation Envoyé par Freed0
    Sinon, la commande qu'il recherche, ce serait pas :

    ssh admin@192.168.0.1

    ?

    Nan, puisqu'en tapant ça, il te demandera ton mot de passe que tu devras rentrer ensuite.
    Lui, il veut tout mettre sur une ligne d'après ce que j'ai compris. Un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssh admin@192.168.0.1 -p monpass
    sauf que c'est pas ça

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par temar
    Nan, puisqu'en tapant ça, il te demandera ton mot de passe que tu devras rentrer ensuite.
    Lui, il veut tout mettre sur une ligne d'après ce que j'ai compris.

    pas si tu as le système de clés publique/privée

  7. #7
    Membre averti Avatar de temar
    Profil pro
    Étudiant
    Inscrit en
    Août 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 316
    Points : 300
    Points
    300
    Par défaut
    Citation Envoyé par gorgonite
    pas si tu as le système de clés publique/privée

    Au temps pour moi

  8. #8
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par gorgonite
    pas si tu as le système de clés publique/privée
    Ca sous entend que ssh peut fonctionner sans le systeme de clés publiques/privées. Il me semble que le protocole ssh utilise tout le temp des clés.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 129
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par gnto
    Ca sous entend que ssh peut fonctionner sans le systeme de clés publiques/privées. Il me semble que le protocole ssh utilise tout le temp des clés.
    Oui et non. Il ne faut pas confondre l'authentification du serveur et l'authentification du client.

    A chaque connexion, le serveur envoie sa clé publique au client, qui l'utilise pour crypter la clé de session et pour authentifier le serveur.

    Mais par défaut, l'authentification du client se fait par simple login/mot de passe. S'il veut s'authentifier sans mot de passe, le client doit créer une paire de clés et transmettre sa clé publique au serveur. L'authentification du client se fera alors par clé publique elle aussi.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 129
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par chaval
    salut
    utilises un mécanisme de clés partagées, afin de pouvoir instancier une connexion sans avoir besoin de mot de passe
    +1

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Un client A veut se connecter sur un serveur distant B

    ssh travaille toujours avec un système de clés publiques/privées. Pour un login normal, avec mot de passe (pas pratique pour un script!) le serveur ssh auquel on veut se connecter (B) va envoyer vers le client une clé publique générale du serveur (ssh_host_dsa_key.pub ou ssh_host_rsa_key.pub). Cette clé sera stockée dans le known_hosts de client ssh (poste A). Mais le mot de passe sera toujours demandé.

    Si on veut se connecter sans mot de passe, on part du client cette fois (A). On y crée son propre couple clé privée/publique avec:
    Mettre une passphrase vide. Ceci va stocker les deux cles dans le répertoire /home/user/.ssh/ de l'utilisateur.

    Il suffit de copier cette clé vers le répertoire .ssh/ de cet utilisateur sur le serveur cible B et de la rajouter dans un fichier authorized_keys.

    Lors d'une connection, cela fonctionne à l'envers, le serveur B voit venir une demande de connection. Il va voir dans le fichier authorized_keys pour l'utilisateur qui demande la connection. S'il y trouve une clé (la clé publique de A). Echange de clé. Si B est satisfait de l'identification (clé privée A <-> clé publique A), la connection s'établit sans mdp (si, du moins la passphrase est vide. Sinon il faudra travailler avec ssh-agent)

    Voilà, en gros comment j'imagine que les choses se passent. Pour la réalisation pratique, on a donné les liens plus haut. En voici encore deux:
    http://arnofear.free.fr/linux/ssh-1.php
    http://rcfile.org/ssh/

  12. #12
    Membre actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Points : 299
    Points
    299
    Par défaut
    Dites, une solution simple s'appelle perl, module Net:SSH .

    On peut se connecter en ssh avec user/pass dans un script et lancer des commandes sur le systeme distant, ce qui me semble etre le besoin Syl91.

    Pas besoin d'etre expert perl pour l'utiliser, il y a plein d'examples sur le net.

  13. #13
    Membre expérimenté

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Points : 1 609
    Points
    1 609
    Par défaut
    Salut
    Ca a l'air interressant ; mais ca me gene énormément d'avoir un mot de passe (surement root d'ailleurs) en clair dans un script
    L'avantage d'une paire de clés partagées est que ce mot de passe apparait nulle part

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Bonjour

    Le script que je souhaite realiser n'utilise pas de clé partagée puisque si j'ai bien compris, il faut parametrer le client et le serveur afin d'utiliser ce system or je ne peut pas acceder au coté serveur.

    Sinon du coté du script, je voudrais savoir (avant de passer sur un script PERL) si quelq'un aurait eventuellement reussi à utiliser le parametre -o de ssh puisque j'y ai apercu le parametre PasswordAuthentication.

    Comment utilise t on ce parametre qui pourrait eventuelement resoudre mon problème?

  15. #15
    Membre actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Points : 299
    Points
    299
    Par défaut
    Sinon du coté du script, je voudrais savoir (avant de passer sur un script PERL) si quelq'un aurait eventuellement reussi à utiliser le parametre -o de ssh puisque j'y ai apercu le parametre PasswordAuthentication.
    Le parametre en question authorise l'authentification pas mot de passe ( par defaut c'est une authentification par clé qui est utlisée. Il ne te permet pas, malheureusement (pour toi) / heureusement (pour les contraintes de securité) de fournir un mot de passe

  16. #16
    Membre actif
    Avatar de vosaray
    Profil pro
    Architecte technique
    Inscrit en
    Mai 2004
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 217
    Points : 299
    Points
    299
    Par défaut
    Ca a l'air interressant ; mais ca me gene énormément d'avoir un mot de passe (surement root d'ailleurs) en clair dans un script
    L'avantage d'une paire de clés partagées est que ce mot de passe apparait nulle part
    Le souci c'est qu'il travaille sur des routers, et ca m'etonnerai qu'il y ait un placeholder (/home/root/.ssh ou autre ) pour stocker les clés et les autorisation associées, comme on le trouve sur on OS unix classique.

    Personellement ca fait un bail que je n'ai pas joué avec des routers, mais de mon temps au mieux c'etait ssh sans clé. Je ne pense pas que cela a beaucoup changé.

    Par contre si l'utilisation des clés est possible, il est certain que c'est largement plus securisé comme systeme !

  17. #17
    Membre expérimenté

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2004
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 060
    Points : 1 609
    Points
    1 609
    Par défaut
    Citation Envoyé par Syl91
    je ne peut pas acceder au coté serveur.
    Bien sur que tu peux acceder au coté serveur...

    En faisant un ssh (mais en ligne de commande et avec ton mot de passe
    Tu l'utilise pour "uploader" ta clé partagée

    P.S : SSH propose un outil de transfert de fichiers : scp . Tu peu aussi avoir une interface à la ftp : sftp
    voila, tu as tout ce qu'il faut

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut re
    Bonjour,

    Apres quelques mois passer au developpement d'un autre logiciel me voici de retour avec mon script ssh.

    J'ai installer/configurer cygwin sur ma machine car je doit executer les script ssh via windows et commencé a ecrire mon scritp shell.

    Pour rappel:ce script doit me permettre de me connecter automatiquement a des firewall et non des routeurs (excusez mon erreur au debut) et d'y modifier en ligne de text les configurations (ex: ajout de regle,...).

    Le gros probleme que je rencontre est comme je l'avais dit précedement le retour a la ligne lors de la connexion sur le firewall:

    ssh -l admin @ip
    password

    Le password n'est pas pris en compte et le script reste bloqué dans l'attente de la saisi d'un mot de passe.

    Comme vous me l'avez conseillé, j'ai commencé a regarder le systeme de clé publique,clé privé.

    Mais a présent,le probleme est d'uploader la clé public sur le firewall car il s'agit d'un boitier et non d'un serveur qui ne comporte pas de repertoire .ssh et le fichier authorized_keys.

    Je n'arrive pas a trouver de reponse aux questions suivantes:

    - Comment faire pour deposer la clé publique sur le firewall??
    - Peut on eventuellement executer du code ASCII dans un script sh (par exemple le code 13 correspond au retour chariot)

  19. #19
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Citation Envoyé par vosaray
    Dites, une solution simple s'appelle perl, module Net:SSH .


    c'est bien dommage que perl puisse faire ça, c'est tellement mieux de forcer l'utilisateur à employer une clé privée

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    J'avais commencé a regarder un peu masi je voulais reussir en shell
    Je pense que je vais me resigner et me mettre au PERL

Discussions similaires

  1. besoin d'aide sur envoi de commande par script SSH
    Par threepwood dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 16/03/2010, 17h52
  2. Pb script SSH et PWD (print working directory)
    Par stillcut dans le forum Linux
    Réponses: 1
    Dernier message: 15/05/2008, 16h57
  3. Aider un novice à créer un script ssh
    Par Thierry8 dans le forum Réseau
    Réponses: 2
    Dernier message: 24/03/2006, 08h33
  4. Script pour fermer une session ssh
    Par le y@m's dans le forum Linux
    Réponses: 8
    Dernier message: 19/09/2005, 15h49
  5. 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