# creer un script shell pour connexion ssh



## darki (21 Août 2010)

Bonjour , avec le terminal il est simple de se connecter en ssh mais le probleme c'est que le terminal nous demander d'entrer le mot de passe , savez vous comment faire (en script shell ou en obj C) pour que le mot de passe soit stocker dans le script : je m'explique :
1 mon programme mac lance le script shell grâce a system()
2 le script shell se connect en ssh 
3 je fais ce que je veu
Merci d'avance!


----------



## tgidi (23 Août 2010)

Bonjour,
voici une solution que j'utilise sous Linux (mais je suppose que sous MAC aussi ca doit marcher)
Il y a un utilitaire en TCL/TK qui s'appel "EXPECT" est qui permet d'automatiser ce genre d'opération connexion SSH automatisé, commande FTP, ... (d'une manière autonome, le script fait tout) et que tu peux invoqué au sein d'un script shell :

voici un exemple que j'utilise :

*#!/usr/bin/expect -f*

*set param [lindex $argv 0]* _# je récupère le paramètre passé au script (pour mon cas c le nom d'un fichier)
_*spawn scp -r /home/test/$param user@HOST:/tmp*_ (spawn est la commande TCL d'expect qui permet d'initialiser une action, conn SSH, SCP, FTP, ou tt autre) 
et puis viens les différentes possibilités :_
*expect {
    "yes/no $" {
        send "yes\n"
    }
}
expect "password: $" 
    send "yes\n"
expect "password: $" 
    send "123456\n"

expect "100% $" *
*puts "envoi réussi" *

et puis tu fais a l'intérieur de ton script shell un simple appel au fichier expect :

#!/bin/bash

....
    ./expect
....

Voila, j'espere que ca repond à ton besoin.


----------



## Diablovic (23 Août 2010)

Tu pourrais aussi utiliser une lib ssh pour que ton programme se connecte directement, plutôt que de passer par un utilitaire du système. ex: libssh, y'en a sûrement d'autres.


----------



## tatouille (24 Août 2010)

Diablovic > bah directement openssl ou libcurl

---------- Nouveau message ajouté à 05h37 ---------- Le message précédent a été envoyé à 05h35 ----------




darki a dit:


> Bonjour , avec le terminal il est simple de se connecter en ssh mais le probleme c'est que le terminal nous demander d'entrer le mot de passe , savez vous comment faire (en script shell ou en obj C) pour que le mot de passe soit stocker dans le script : je m'explique :
> 1 mon programme mac lance le script shell grâce a system()
> 2 le script shell se connect en ssh
> 3 je fais ce que je veu
> Merci d'avance!



on ne fait pas ca on utilise des certificats c'est pas dure... toujours est il... il faut se sortir les doig,... du c.......


----------

