Rabbit Remote Control 0.0.37
Loading...
Searching...
No Matches
ChannelSSH.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4
5#include "libssh/libssh.h"
6#include "libssh/callbacks.h"
7#include "Channel.h"
8#include "ParameterSSH.h"
9#include "Backend.h"
10#include "plugin_export.h"
11#include "Event.h"
12
13class PLUGIN_EXPORT CChannelSSH : public CChannel
14{
15 Q_OBJECT
16public:
17 explicit CChannelSSH(CBackend *pBackend, CParameterSSH* pPara,
18 bool bWakeUp = true, QObject *parent = nullptr);
19 virtual ~CChannelSSH();
20
21public:
22 virtual bool open(OpenMode mode) override;
23 virtual void close() override;
24 virtual int WakeUp();
25
26public:
27 virtual QString GetDetails() override;
28
29private:
30 static void cb_log(ssh_session session,
31 int priority,
32 const char *message,
33 void *userdata);
34 int verifyKnownhost(ssh_session session);
35 int authentication(
36 ssh_session session,
37 const QString szUser,
38 const QString szPassword,
39 const QString szPassphrase,
40 const int nMethod = SSH_AUTH_METHOD_PASSWORD);
41 int authenticationPublicKey(
42 ssh_session session,
43 const QString szUser,
44 const QString szPublicKeyFile,
45 const QString szPrivateKeyFile,
46 const QString szPassphrase);
47 virtual int OnOpen(ssh_session session);
48 virtual void OnClose();
49
50protected:
51 ssh_session m_Session;
52 ssh_channel m_Channel;
53 CBackend *m_pBackend;
54 CParameterSSH* m_pParameter;
55 Channel::CEvent* m_pEvent;
56
57private:
58 ssh_pcap_file m_pcapFile;
59};
Backend interface.
Definition Backend.h:42
The channel interface class.
Definition Channel.h:27
virtual bool open(OpenMode mode) override
Definition Channel.cpp:88
virtual QString GetDetails()
Depend on information.
Definition Channel.cpp:125