fix(pve): Fix connection issues and add more error handlings (#1081)

* feat(PVE): Added display of PVE connection loading steps

Added a detailed display of loading steps during the PVE connection process, including stages such as establishing an SSH tunnel, authentication, and data retrieval

Also optimized the sorting of PVE storage content and the logic for handling connection errors

* feat(pve): Added error handling and prompts for PVE two-factor authentication

Added error handling for PVE servers when two-factor authentication is enabled, along with relevant error types and localized prompts

* feat(PVE): Added support for PVE passwords during key-based authentication

- Added the `pvePwd` field to the `ServerCustom` model
- Added a PVE password input field to the edit page (displayed only during key-based authentication)
- Updated multilingual files to support PVE-related loading states and password prompts
- Optimized PVE connection logic to support password verification during key-based authentication
This commit is contained in:
GT610
2026-03-22 16:25:48 +08:00
committed by GitHub
parent 2f67938b09
commit 09431a0b08
37 changed files with 641 additions and 139 deletions

View File

@@ -154,7 +154,14 @@
"pushToken": "Push token",
"pveIgnoreCertTip": "Not recommended to enable, beware of security risks! If you are using the default certificate from PVE, you need to enable this option.",
"pveLoginFailed": "Login failed. Unable to authenticate with username/password from server configuration for Linux PAM login.",
"pveOtpRequired": "Two-factor authentication is enabled on this PVE server. Please enter the OTP code.",
"pveVersionLow": "This feature is currently in the testing phase and has only been tested on PVE 8+. Please use it with caution.",
"pveLoadingForwarding": "Establishing SSH tunnel...",
"pveLoadingLogin": "Authenticating with PVE...",
"pveLoadingData": "Fetching cluster data...",
"pveLoadingConnect": "Connecting...",
"pvePassword": "PVE Password",
"pvePasswordHint": "Required when using key-based SSH authentication",
"read": "Read",
"recentConnections": "Recent Connections",
"rememberPwdInMem": "Remember password in memory",

View File

@@ -154,7 +154,14 @@
"pushToken": "消息推送 Token",
"pveIgnoreCertTip": "不推荐开启,注意安全隐患!如果你使用的 PVE 默认证书,需要开启该选项",
"pveLoginFailed": "登录失败。无法使用服务器配置中的用户名或密码通过 Linux PAM 方式认证。",
"pveOtpRequired": "此 PVE 服务器已启用双因素认证,请输入 OTP 验证码。",
"pveVersionLow": "当前该功能处于测试阶段,仅在 PVE 8+ 上测试过,请谨慎使用",
"pveLoadingForwarding": "正在建立 SSH 隧道...",
"pveLoadingLogin": "正在认证 PVE...",
"pveLoadingData": "正在获取集群数据...",
"pveLoadingConnect": "正在连接...",
"pvePassword": "PVE 密码",
"pvePasswordHint": "使用密钥认证时需要填写",
"read": "读",
"recentConnections": "最近连接记录",
"rememberPwdInMem": "在内存中记住密码",

View File

@@ -154,7 +154,14 @@
"pushToken": "消息推送 Token",
"pveIgnoreCertTip": "不建議啟用,請注意安全風險!如果您使用的是 PVE 的預設憑證,則需要啟用此選項。",
"pveLoginFailed": "登入失敗。無法使用伺服器設定中的使用者名稱或密碼透過 Linux PAM 方式認證。",
"pveOtpRequired": "此 PVE 伺服器已啟用雙因素認證,請輸入 OTP 驗證碼。",
"pveVersionLow": "此功能目前處於測試階段,僅在 PVE 8+ 上進行過測試。請謹慎使用。",
"pveLoadingForwarding": "正在建立 SSH 隧道...",
"pveLoadingLogin": "正在認證 PVE...",
"pveLoadingData": "正在獲取集群數據...",
"pveLoadingConnect": "正在連接...",
"pvePassword": "PVE 密碼",
"pvePasswordHint": "使用密鑰認證時需要填寫",
"read": "讀取",
"recentConnections": "最近連線記錄",
"rememberPwdInMem": "在記憶體中記住密碼",