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

Windows Forms Discussion :

[Vb.Net 2005] SSH


Sujet :

Windows Forms

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Par défaut [Vb.Net 2005] SSH
    Est-ce quelqu'un sait comment faire pour envoyer un fichier en SSH ?


  2. #2
    Membre éprouvé Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Par défaut
    Bonjour

    Appeler à l'aide et attendre ne sera pas productif à mon avis l'initiative que tu aurais du prendre c'est de passer par google et en une demi heure à chercher j'ai trouvé deux Library C# gratuite qui font ssh ici granados et ici SharpSsh
    et une documentation sur SSh ici http://fr.wikipedia.org/wiki/Ssh j'espère que cela répond à ta demande.

    Capitaine Kirk.

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Par défaut
    avant tout merci pour ton aide.

    je cherche depuis ce matin et tes liens je les avais déjà parcourue avant de poster alors ta remarque est légérement déplacé.

    désolé si je ne suis pas doué en ssh mais je n'arrive pas à faire fonctionner SharpSSH et donc je me demandais si quelqu'un avait pas un petit exemple soius le coude voilà tout !

  4. #4
    Membre éprouvé Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Par défaut
    Bonsoir

    Citation Envoyé par ricil78 Voir le message
    avant tout merci pour ton aide.

    je cherche depuis ce matin et tes liens je les avais déjà parcourue avant de poster alors ta remarque est légérement déplacé.

    désolé si je ne suis pas doué en ssh mais je n'arrive pas à faire fonctionner SharpSSH et donc je me demandais si quelqu'un avait pas un petit exemple soius le coude voilà tout !
    alors toutes mes excuses mais tu avouera quand même qu'au vu de cette simple phrase
    Est-ce quelqu'un sait comment faire pour envoyer un fichier en SSH ?
    il est difficile de savoir que tu cherche depuis ce matin et qu'en fait tu voulais un exemple d'utilisation de SharpSsh donc pour essayer d'apporter un éléments de réponse dans le lien que je t'ai donné il y a les sources de SharpSsh ainsi qu'un répertoire Examples qui j'espère t'aidera a avancer.

    Capitaine Kirk.

  5. #5
    Membre éprouvé Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Par défaut
    Il y'a ici je pense un exemple qui pourrais te servir http://www.codeproject.com/KB/IP/sharpssh.aspx .

    Capitaine Kirk.

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Par défaut
    je reconnais que ma phrase de debut est courte, je ferais attention la prochaine fois.

    Sinon les exemples je les avais vu mais n'étant pas à l'aise avec le C# j'avais du mal à convertir l'application console, en fonction exploitable pour mon projet.

    de plus mon client ne m'avait pas donner le bon mot de pass ! sacré client !

    bref je m'en suis sortie et ça marche


    merci.

  7. #7
    Membre éprouvé Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Par défaut
    Bonjour

    Citation Envoyé par ricil78 Voir le message
    .../...
    de plus mon client ne m'avait pas donner le bon mot de pass ! sacré client !
    c'est sur que ça ne facilite pas la tache .

    bref je m'en suis sortie et ça marche
    tant mieux tout fini bien , mais peut être pourrais tu mettre ici le bout de code salvateur pour que ceux qui rencontrerai le même souci que toi puissent à leur tour voir la lumière

    Capitaine Kirk.

  8. #8
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Par défaut
    Voici le résultat :

    j'ai fait un nouveau projet Bibliothèque de classes
    dans lequel j'ai remis la référence à la dll Tamir.SharpSSH

    mais vous aurez besoins des dll suivantes :
    - DiffieHellman.dll
    - Org.Mentalis.Security.dll

    (Pour précision je ne cherchais pas à faire mieux mais juste me faciliter la vie.)

    j'ai testé que l'envoie je ne garantie pas la réception de fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
    using System;
    using System.Collections;
    using Tamir.SharpSsh;
     
    namespace cls_SSH
    {
        /// <summary>
        /// Effectue un transfère de fichier en SSH.
        /// </summary>
        public class SshFileTransfer
        {
            public enum _publickey { n, y };
            public enum _DirectionTransfere { to, from };
            public enum _Protocol { scp, sftp };
     
            /// <summary>
            /// Effectue un transfère de fichier en SSH.
            /// </summary>
            /// <param name="host">Hôte (Ex: 192.168.1.10)</param>
            /// <param name="user">Nom Utilisateur</param>
            /// <param name="Password">Mot de passe</param>
            /// <param name="identity_key">Clé d'identification (Non obligatoire si identification par mot de passe)</param>
            /// <param name="FichierLocal">Fichier local (ex: M:/Toto.txt)</param>
            /// <param name="FichierDistant">Fichier Distant (ex: UnDossier/Toto.txt)</param>
            /// <param name="Protocol">Choix du protocol</param>
            /// <param name="publickey">Choix de l'identification</param>
            /// <param name="DirectionTransfere">Choix de la direction du tranfère</param>
            public void Transfert(string host,string user,string Password,string identity_key,string FichierLocal,string FichierDistant,_Protocol Protocol,_publickey publickey, _DirectionTransfere DirectionTransfere)
            {
                try
                {
     
                    SshConnectionInfo info = new SshConnectionInfo();
     
                    info.Host = host;
                    info.User = user;
     
                    if (publickey == _publickey.y)
                    {
                        info.IdentityFile = identity_key;
                    }
                    else
                    {
                        info.Pass = Password;
                    }
     
                    SshTransferProtocolBase sshCp;
     
                    if (Protocol==_Protocol.scp)
                        sshCp = new Scp(info.Host, info.User);
                    else
                        sshCp = new Sftp(info.Host, info.User);
     
     
                    sshCp.Password = info.Pass;
     
                    if (info.Pass != null) sshCp.Password = info.Pass;
                    if (info.IdentityFile != null) sshCp.AddIdentityFile(info.IdentityFile);
                    sshCp.OnTransferStart += new FileTransferEvent(sshCp_OnTransferStart);
                    sshCp.OnTransferProgress += new FileTransferEvent(sshCp_OnTransferProgress);
                    sshCp.OnTransferEnd += new FileTransferEvent(sshCp_OnTransferEnd);
     
     
                    sshCp.Connect();
     
                    if (DirectionTransfere==_DirectionTransfere.to)
                        sshCp.Put(  FichierLocal, FichierDistant);
                    else
                        sshCp.Get(FichierLocal, FichierDistant);
     
     
                    sshCp.Close();
     
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
     
            public struct SshConnectionInfo
            {
                public string Host;
                public string User;
                public string Pass;
                public string IdentityFile;
            }
     
            //public static string GetArg(string msg)
            //{
            //    Console.Write(msg + ": ");
            //    return Console.ReadLine();
            //}
     
            static Tamir.SharpSsh.jsch.examples.ConsoleProgressBar progressBar;
     
            private static void sshCp_OnTransferStart(string src, string dst, int transferredBytes, int totalBytes, string message)
            {
                Console.WriteLine();
                progressBar = new Tamir.SharpSsh.jsch.examples.ConsoleProgressBar();
                progressBar.Update(transferredBytes, totalBytes, message);
            }
     
            private static void sshCp_OnTransferProgress(string src, string dst, int transferredBytes, int totalBytes, string message)
            {
                if (progressBar != null)
                {
                    progressBar.Update(transferredBytes, totalBytes, message);
                }
            }
     
            private static void sshCp_OnTransferEnd(string src, string dst, int transferredBytes, int totalBytes, string message)
            {
                if (progressBar != null)
                {
                    progressBar.Update(transferredBytes, totalBytes, message);
                    progressBar = null;
                }
            }
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DX 9 et visual.net 2005 ?
    Par ilimo dans le forum DirectX
    Réponses: 1
    Dernier message: 27/07/2004, 10h55

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