Bonjour a tous,


Je suis en train de développer une petite appplication qui a pour but de faire 2 choses différence selon la clé ppk utilisée. Je met connecte au client avec ConnectionInfo.cs en lui attribuant 2 clés différentes avec des droits différents.
Mon but est de connaitre la clé qui est "passée" lors de la connexion afin de savoir quels sont les droits pour la connexion en cours. (pour le moment le username est le même pour les 2 clés)

Savez vous si c'est possible? Merci pour votre aide

Un extrait du code concerné sera ppeut-être plus clair.

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
 
public class SshConnection
{
    private string _hostname;
    private string _username;
    private PrivateKeyFile _privateKeyPath1;
    private PrivateKeyFile _privateKeyPath2;
    private SshClient clientSSH;
 
    public SshConnection(string hostname, string username, PrivateKeyFile privateKeyFile1, PrivateKeyFile privateKeyFile2)
    {
        _hostname = hostname;
        _username = username;
        _privateKeyFile1 = privateKeyFile1;
        _privateKeyFile2 = privateKeyFile2;
    }
 
    public void Connect()
    {
 
        var methods = new List<AuthenticationMethod>();
        methods.Add(new PrivateKeyAuthenticationMethod(_username, _privateKeyFile1));
        methods.Add(new PrivateKeyAuthenticationMethod(_username, _privateKeyFile2));
 
        var connectionInfo = new ConnectionInfo(_hostname, 22, _username, methods.ToArray());
        clientSSH = new SshClient(connectionInfo); 
 
            clientSSH.Connect();
            if (clientSSH.IsConnected)
           {
             if(C'est _privateKeyFile1)
             {
              //Action a faire avec _privateKeyFile2
             }
              else
            {      //C'est _privateKeyFile2 qui est utilisée
                    // Action a faire avec _privateKeyFile2
            }
          }        
    }
}