From 141519d9523438911db9332bb6f3990ff9277089 Mon Sep 17 00:00:00 2001 From: lxdklp Date: Tue, 25 Nov 2025 10:35:14 +0800 Subject: [PATCH] fix: SFTP err caused by known host key (#970) Fixes #965 --- lib/data/model/sftp/req.dart | 6 ++++++ lib/data/model/sftp/worker.dart | 2 ++ 2 files changed, 8 insertions(+) diff --git a/lib/data/model/sftp/req.dart b/lib/data/model/sftp/req.dart index 68147079..d9c769ef 100644 --- a/lib/data/model/sftp/req.dart +++ b/lib/data/model/sftp/req.dart @@ -8,6 +8,7 @@ class SftpReq { String? privateKey; Spi? jumpSpi; String? jumpPrivateKey; + Map? knownHostFingerprints; SftpReq(this.spi, this.remotePath, this.localPath, this.type) { final keyId = spi.keyId; @@ -18,6 +19,11 @@ class SftpReq { jumpSpi = Stores.server.box.get(spi.jumpId); jumpPrivateKey = Stores.key.fetchOne(jumpSpi?.keyId)?.key; } + try { + knownHostFingerprints = Map.from(Stores.setting.sshKnownHostFingerprints.get()); + } catch (_) { + knownHostFingerprints = null; + } } } diff --git a/lib/data/model/sftp/worker.dart b/lib/data/model/sftp/worker.dart index 42ca6f60..654deca9 100644 --- a/lib/data/model/sftp/worker.dart +++ b/lib/data/model/sftp/worker.dart @@ -65,6 +65,7 @@ Future _download(SftpReq req, SendPort mainSendPort, SendErrorFunction sen privateKey: req.privateKey, jumpSpi: req.jumpSpi, jumpPrivateKey: req.jumpPrivateKey, + knownHostFingerprints: req.knownHostFingerprints, ); mainSendPort.send(SftpWorkerStatus.sshConnectted); @@ -121,6 +122,7 @@ Future _upload(SftpReq req, SendPort mainSendPort, SendErrorFunction sendE privateKey: req.privateKey, jumpSpi: req.jumpSpi, jumpPrivateKey: req.jumpPrivateKey, + knownHostFingerprints: req.knownHostFingerprints, ); mainSendPort.send(SftpWorkerStatus.sshConnectted);