@@ -36,7 +36,8 @@ public async Task<ResultMsg> Login()
36
36
{
37
37
result . Success = false ;
38
38
result . Message = "CredentialInfo is null." ;
39
- _logger . LogError ( $ "[{ DateTime . Now } ][{ GetType ( ) } .Login] ERROR! { result . Message } ") ;
39
+ _logger . LogError (
40
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } :{ CredentialInfo ? . Port } ({ CredentialInfo ? . Username } )][{ GetType ( ) } .Login] ERROR! { result . Message } ") ;
40
41
return result ;
41
42
}
42
43
@@ -50,11 +51,11 @@ public async Task<ResultMsg> Login()
50
51
_client . HostKeyReceived += ( sender , args ) =>
51
52
{
52
53
_logger . LogWarning (
53
- $ "[{ DateTime . Now } ][{ GetType ( ) } .Login] Host Key received! \n Host fingerprint SHA256: { args . FingerPrintSHA256 } ") ;
54
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } : { CredentialInfo ? . Port } ( { CredentialInfo ? . Username } )][ { GetType ( ) } .Login] Host Key received! \n Host fingerprint SHA256: { args . FingerPrintSHA256 } ") ;
54
55
if ( _expectedFingerprints == null || _expectedFingerprints . Count <= 0 )
55
56
{
56
57
_logger . LogError (
57
- $ "[{ DateTime . Now } ][{ GetType ( ) } .Login] expectedFingerprints not defined! Abort the login") ;
58
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } : { CredentialInfo ? . Port } ( { CredentialInfo ? . Username } )][ { GetType ( ) } .Login] expectedFingerprints not defined! Abort the login") ;
58
59
args . CanTrust = false ;
59
60
_client . Disconnect ( ) ;
60
61
result . Success = false ;
@@ -67,7 +68,8 @@ public async Task<ResultMsg> Login()
67
68
} ;
68
69
_client . ErrorOccurred += ( sender , args ) =>
69
70
{
70
- _logger . LogError ( $ "[{ DateTime . Now } ][{ GetType ( ) } ] SshClient ErrorOccurred! { args . Exception } ") ;
71
+ _logger . LogError (
72
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } :{ CredentialInfo ? . Port } ({ CredentialInfo ? . Username } )][{ GetType ( ) } ] SshClient ErrorOccurred! { args . Exception } ") ;
71
73
} ;
72
74
73
75
// 保持SSH会话
@@ -98,23 +100,27 @@ public async Task<ResultMsg> Login()
98
100
// _logger.LogInformation($"[{GetType()}.Login] \"sudo su\" success!");
99
101
// }
100
102
}
103
+
101
104
result . Success = true ;
102
105
result . Message = string . Empty ;
103
106
tcs . SetResult ( result ) ;
104
107
}
105
108
catch ( Exception ex )
106
109
{
107
- _logger . LogError ( $ "[{ DateTime . Now } ][{ GetType ( ) } .Login] Error when SshClient connect!\n { ex } ") ;
110
+ _logger . LogError (
111
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } :{ CredentialInfo ? . Port } ({ CredentialInfo ? . Username } )][{ GetType ( ) } .Login] Error when SshClient connect!\n { ex } ") ;
108
112
result . Success = false ;
109
113
result . Message = $ "SshClient error! { ex } ";
110
114
tcs . SetResult ( result ) ;
111
115
}
112
116
113
117
var success = await tcs . Task ;
114
118
if ( success . Success )
115
- _logger . LogInformation ( $ "[{ DateTime . Now } ][{ GetType ( ) } .Login] Login success!") ;
119
+ _logger . LogInformation (
120
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } :{ CredentialInfo ? . Port } ({ CredentialInfo ? . Username } )][{ GetType ( ) } .Login] Login success!") ;
116
121
else
117
- _logger . LogError ( $ "[{ DateTime . Now } ][{ GetType ( ) } .Login] login failed! { result . Message } ") ;
122
+ _logger . LogError (
123
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } :{ CredentialInfo ? . Port } ({ CredentialInfo ? . Username } )][{ GetType ( ) } .Login] login failed! { result . Message } ") ;
118
124
119
125
return success ;
120
126
}
@@ -152,21 +158,23 @@ public async Task StartAsync(CancellationToken cancellationToken, JSONNode node)
152
158
_logger . LogInformation (
153
159
$ "[{ DateTime . Now } ][{ GetType ( ) } ] SHA256 fingerprint { node [ "expectedFingerprints" ] [ i ] } added!") ;
154
160
}
155
-
161
+
156
162
CredentialInfo = new ConnectionInfo ( node [ "address" ] . Value , node [ "user" ] . Value ,
157
163
new PasswordAuthenticationMethod ( node [ "user" ] . Value , node [ "password" ] . Value ) ,
158
164
new PrivateKeyAuthenticationMethod ( node [ "user" ] . Value , new PrivateKeyFile ( node [ "privateKeyPath" ] . Value ) ) ) ;
159
165
160
166
needSudo = node [ "needSudo" ] ;
161
167
162
168
await Login ( ) ;
163
- _logger . LogInformation ( $ "[{ DateTime . Now } ][{ GetType ( ) } .StartAsync] Initialized!") ;
169
+ _logger . LogInformation (
170
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } :{ CredentialInfo ? . Port } ({ CredentialInfo ? . Username } )][{ GetType ( ) } .StartAsync] Initialized!") ;
164
171
}
165
172
166
173
public async Task StopAsync ( CancellationToken cancellationToken )
167
174
{
168
175
await Logout ( ) ;
169
- _logger . LogInformation ( $ "[{ DateTime . Now } ][{ GetType ( ) } .StopAsync] Stopped!") ;
176
+ _logger . LogInformation (
177
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } :{ CredentialInfo ? . Port } ({ CredentialInfo ? . Username } )][{ GetType ( ) } .StopAsync] Stopped!") ;
170
178
}
171
179
172
180
public async Task < ResultMsg > RunCommand ( string command )
@@ -175,7 +183,7 @@ public async Task<ResultMsg> RunCommand(string command)
175
183
{
176
184
command = $ "sudo { command } ";
177
185
}
178
-
186
+
179
187
var result = new ResultMsg ( ) ;
180
188
var sshCommand = _client . CreateCommand ( command ) ;
181
189
try
@@ -184,7 +192,8 @@ public async Task<ResultMsg> RunCommand(string command)
184
192
}
185
193
catch ( Exception ex )
186
194
{
187
- _logger . LogError ( $ "[{ DateTime . Now } ][{ GetType ( ) } ] Error when executing { command } ! { ex } ") ;
195
+ _logger . LogError (
196
+ $ "[{ DateTime . Now } ][{ CredentialInfo ? . Host } :{ CredentialInfo ? . Port } ({ CredentialInfo ? . Username } )][{ GetType ( ) } ] Error when executing { command } ! { ex } ") ;
188
197
result . Message = ex . ToString ( ) ;
189
198
result . Success = false ;
190
199
}
0 commit comments