QuickSSH/lib/services/SSHService.dart

31 lines
680 B
Dart

import 'dart:convert';
import 'package:dartssh2/dartssh2.dart';
import 'package:QuickSSH/classes/ServerCommand.dart';
class SSHService {
static Future<String> execute(ServerCommand server) async {
try {
final socket = await SSHSocket.connect(
server.ip,
22,
timeout: const Duration(seconds: 10),
);
final client = SSHClient(
socket,
username: server.username,
onPasswordRequest: () => server.password,
);
final result = await client.run(server.command);
client.close();
await client.done;
return utf8.decode(result);
} catch (e) {
return "Error: $e";
}
}
}