DLL SSH pour du SFTP

Fermé
Lea4064 Messages postés 2 Date d'inscription mercredi 14 juillet 2004 Statut Membre Dernière intervention 12 mai 2007 - 12 mai 2007 à 05:43
benthebest Messages postés 42 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 1 août 2008 - 1 août 2008 à 11:27
Bonjour,

Je cherche des DLL de SSH pour integrer des fonstions SFTP dans une application.

Croyez-vous que cela existe ?

Par avance merci de vos réponses.
A voir également:

7 réponses

Salut,

J'ai le même problème....à partir d'une application Access je souhaite downloader des fichier sur un serveur.
Le pb c'est que ceux ci arrivent cryptés. J'ai la clé de décryptage mais je n'ai pas la bonne fonction (sftpGet ?) qui permette de les transférer non cryptés....

Quelqu'un peut il m'aider ?

Merci.
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
26 juin 2007 à 11:54
Et pourquoi pas avec CURL ?

Il sait faire du SFTP et permet d'envoyer/recevoir des fichiers par SFTP simplement en ligne de commande
(aucune prise de tête ! :-)

Il y a également une librairie (libcurl), mais je ne sais pas si elle est utilisable sous Windows.
0
Okay merci Seb,

J'ai regardé en détail ton site, tu n'aurais pas un exemple qui utilise le soft curl pour aller chercher un fichier crypté sur un serveur distant ?
Au final le fichier doit arriver sur ma machine non crypté !
Merci à bientôt.
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
26 juin 2007 à 12:21
Ah tant que j'y pense, sous Windows il y a également psftp.exe (de l'auteur de Putty), qui permet aussi de récupérer un fichier par sftp en ligne de commande.
https://www.chiark.greenend.org.uk/~sgtatham/putty/


Pour l'exemple curl: curl -u user:password sftp://shell.example.com/etc/issue
0
Avec curl j'ai le message d'erreur suivant :

"Le point d'entrée de procédure CRYPTO_cleanup_all_data est introuvable dans la bibliothèque de liaison dynamique libeay32.dll"...

As tu une idée ?

Au fait sais tu comment aller chercher un fichier crypté et l'avoir décrypté sur son poste (j'ai la clé de décryptage).
je pense qu'il faut la passer dans la fonction sftp (...) mais comment ?

Merci !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
26 juin 2007 à 12:53
"Le point d'entrée de procédure CRYPTO_cleanup_all_data est introuvable dans la bibliothèque de liaison dynamique libeay32.dll"...
As tu une idée ?


Tu dois avoir une vieille version de libeay32.dll qui traîne quelquepart sur ton disque dur.
Supprime-la et utiliser les dernières versions des DLL OpenSSL.



Au fait sais tu comment aller chercher un fichier crypté et l'avoir décrypté sur son poste (j'ai la clé de décryptage).
je pense qu'il faut la passer dans la fonction sftp (...) mais comment ?


euh... là c'est un problème différent de sftp.
sftp ne s'occupe pas du chiffrement des fichiers, mais seulement du chiffrement de la communication.

Une fois le fichier transféré, s'il est chiffré, il faut utiliser le logiciel qui a servi à le chiffrer.
Si l'extensions est .gpg, alors c'est GnuPG qu'il faut utiliser.
0
Salut,

Il existe la DLL ExtraPuTTY.DLL, qui donne aux applications win32 l'accés aux protocol SSH,Telnet, Rlogin, Raw aussi bien en émission quand réception de données.

Cette DLL fait partie d'un logociel extraputty qui est un addon du celebre putty tout est gratuit.
Il y a aussi un example d'utilisation du protocol SSH et Telnet avec un applic win32 (MFC)
Le site est en anglais mais fait par des francais qui sont assez réactif pour des questions par mail.


Adresse du site : http://extraputty.free.fr

Voila j'espère que cela pourra t'aider.

Asebt.
0
benthebest Messages postés 42 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 1 août 2008
1 août 2008 à 10:58
Bonjour, pourrai-tu m'aider a installer et a utiliser les fonctions de la dll d'extraputty, je n'y arrive pas malgré mes démarches :

j'ai copier putty.exe et la extraputty.dll a un endroit, jai crée une variable d'environnement extraputty dont le path est cet endroit, ensuite je cree un ptit .c, je lance la fct connexion ds le main comme suit :
if(0 != Connexion("bbs.iscabbs.com", "Guest", "", false, 0, 1))
    {
        return false;
    }


et le problème c'est que quand je lance le programme, ben ça m'affiche au bout d'un certain temps une erreur microsoft...

Y a t il quelque chose que je n ai pas fait???

Merci de ton aide.
0
asebt > benthebest Messages postés 42 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 1 août 2008
1 août 2008 à 11:14
salut,

La première chose que tu peux faire c'est de télécharger l'exemple en c qu'il y a sur le site.
(2 exemples un en VB et un en c avec les MFC)

Sinon as-tu bien fait ton load dll dans ton soft C ?
et as tu fais l'appel à la fonction init avant ???

asebt
0
benthebest Messages postés 42 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 1 août 2008
1 août 2008 à 11:27
Bonjour et merci de ton aide, effectivement je me suis aider des exemple mfc sauf que moi je voudrai le faire en ligne de commande... Voici mon debut de code :
#define cMO_TARGET_NAME "bbs.iscabbs.com"

//Global Variable
//int TargetSelection;

//Prototypage of all light extraputty functions
typedef int (*Function_extraputty_Connexion) (char *,char *,char *,bool,long,long);
typedef int (*Function_extraputty_SendRcvCmd) (char *,char *,char *,char *,int,char *,long,unsigned long);
typedef int (*Function_extraputty_CloseAll) ();
typedef int (*Function_extraputty_Close) (char *);

Function_extraputty_Connexion  Connexion;
Function_extraputty_SendRcvCmd SendRcvCmd;
Function_extraputty_CloseAll   CloseAll;
Function_extraputty_Close      CloseConnexion;

tNSTD_OK FMO_FIX fmo_connexionChoice()
{
    mNEXC_START(fmo_connexionChoice);
    
    printf("fmo_connexionChoice\n");

    if(0 != Connexion(cMO_TARGET_NAME, "Guest", "", false, 0, 1))
    {
        return eNSTD_NOK;
    }
    return eNSTD_OK;
    mNEXC_END(eNSTD_NOK);
}

BOOL EXT_FIX tlnt_init()
{
    mNEXC_START(tlnt_init);
    
    //Load ExtraPuTTY DLL
    HMODULE hDLL = LoadLibrary("C://ns/bin/ext/ExtraPuTTY.dll");
	if(!hDLL)	//if load failed
	{
		//Display error message
        printf("Erreur : Impossible to load DLL...\n");
		return FALSE;
	}
    //Link on all functions
    Connexion      = (Function_extraputty_Connexion) GetProcAddress(hDLL,  "Connexion");
    SendRcvCmd     = (Function_extraputty_SendRcvCmd) GetProcAddress(hDLL, "SendRcvData");
    CloseAll       = (Function_extraputty_CloseAll) GetProcAddress(hDLL,   "CloseAllConnexion");
    CloseConnexion = (Function_extraputty_Close) GetProcAddress(hDLL,      "CloseConnexion");


    /*int i;
    scanf("%d",&i);*/
    return TRUE;
    mNEXC_END(FALSE);
}


int main ()
{
    mNEXC_START(main);

    if (FALSE == tlnt_init())
    {
        return 0;
    }

    int result;
    do
    {
        do
        {
            printf("\nWelcom to Telnet client\n");
            printf("1 - Connexion\n");
            printf("2 - Send Data\n");
            printf("3 - Close Connexion\n");
            printf("4 - Close All Connexions\n");
            printf("5 - Stop\n");
            scanf("%d",&result);
            if(result>5 || result<1)
            {
                printf("Bad Choice!\n");
            }
            fflush(stdin);
        }while(result>5 || result<1);
        
        switch(result)
        {
        case 1:
            if(eNSTD_OK != fmo_connexionChoice(
                            ))
            {
                printf("Failed to made connexion!\n");   
            }
            else
            {
                printf("Connexion to "cMO_TARGET_NAME"\n");   
            }
            break;



        case 5:
            printf("Bye-Bye\n");   
            break;
        }
    }while(5 != result);

    return 1;
    mNEXC_END(0);
}


Qu'en pense tu?
0