feat: move vault ssh signing into a plugin (C5)

This commit is contained in:
LukeGus committed 2026-09-24 20:24:09 -05:00
1 parent b027717c46
commit 6e56c90aac
198 files changed
+19717 -3445

No files matched your search

-4
View File
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} window",
"tmuxWindows": "Windows",
"unknownError": "Unknown error occurred",
"vaultAuthDescription": "A window has opened to sign in to HashiCorp Vault. Complete the sign-in there; this connection will continue automatically.",
"vaultAuthFailed": "Vault authentication failed. Please try again.",
"vaultAuthTitle": "Vault sign-in required",
"vaultReopen": "Reopen sign-in window",
"websocketAbnormalClose": "Connection closed unexpectedly. This may be due to a reverse proxy or SSL configuration issue. Please check server logs.",
"websocketError": "WebSocket connection error"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} venster",
"tmuxWindows": "Vensters",
"unknownError": "Onbekende fout het voorgekom",
"vaultAuthDescription": "'n Venster het oopgemaak om by HashiCorp Vault aan te meld. Voltooi die aanmelding daar; hierdie verbinding sal outomaties voortgaan.",
"vaultAuthFailed": "Kluisverifikasie het misluk. Probeer asseblief weer.",
"vaultAuthTitle": "Kluisaanmelding vereis",
"vaultReopen": "Maak aanmeldvenster weer oop",
"websocketAbnormalClose": "Verbinding het onverwags gesluit. Dit kan wees as gevolg van 'n omgekeerde proxy- of SSL-konfigurasieprobleem. Gaan asseblief bedienerlogboeke na.",
"websocketError": "WebSocket-verbindingsfout"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} نافذة",
"tmuxWindows": "النوافذ",
"unknownError": "حدث خطأ غير معروف",
"vaultAuthDescription": "تم فتح نافذة لتسجيل الدخول إلى HashiCorp Vault. أكمل تسجيل الدخول هناك؛ سيستمر هذا الاتصال تلقائيًا.",
"vaultAuthFailed": "فشلت مصادقة Vault. يرجى المحاولة مرة أخرى.",
"vaultAuthTitle": "مطلوب تسجيل الدخول إلى Vault",
"vaultReopen": "أعد فتح نافذة تسجيل الدخول",
"websocketAbnormalClose": "أُغلق الاتصال بشكل غير متوقع. قد يكون السبب مشكلة في الوكيل العكسي أو إعدادات SSL. يرجى مراجعة سجلات الخادم.",
"websocketError": "خطأ في اتصال WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} прозорец",
"tmuxWindows": "Прозорци",
"unknownError": "Възникна неизвестна грешка",
"vaultAuthDescription": "Отвори се прозорец за влизане в HashiCorp Vault. Завършете влизането там; тази връзка ще продължи автоматично.",
"vaultAuthFailed": "Удостоверяването на трезора не бе успешно. Моля, опитайте отново.",
"vaultAuthTitle": "Изисква се влизане в трезора",
"vaultReopen": "Отваряне отново на прозореца за влизане",
"websocketAbnormalClose": "Връзката се прекъсна неочаквано. Това може да се дължи на проблем с обратен прокси или SSL конфигурация. Моля, проверете лог файловете на сървъра.",
"websocketError": "Грешка при свързване с WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} জানালা",
"tmuxWindows": "উইন্ডোজ",
"unknownError": "অজানা ত্রুটি ঘটেছে",
"vaultAuthDescription": "হ্যাশিকর্প ভল্টে সাইন ইন করার জন্য একটি উইন্ডো খুলেছে। সেখানে সাইন-ইন সম্পন্ন করুন; এই সংযোগটি স্বয়ংক্রিয়ভাবে চলতে থাকবে।",
"vaultAuthFailed": "ভল্ট প্রমাণীকরণ ব্যর্থ হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।",
"vaultAuthTitle": "ভল্টে সাইন-ইন করা আবশ্যক",
"vaultReopen": "সাইন-ইন উইন্ডো পুনরায় খুলুন",
"websocketAbnormalClose": "সংযোগটি অপ্রত্যাশিতভাবে বন্ধ হয়ে গেছে। এটি রিভার্স প্রক্সি বা SSL কনফিগারেশন সংক্রান্ত সমস্যার কারণে হতে পারে। অনুগ্রহ করে সার্ভার লগ পরীক্ষা করুন।",
"websocketError": "ওয়েবসকেট সংযোগ ত্রুটি"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "finestra {{count}}",
"tmuxWindows": "Finestres",
"unknownError": "S'ha produït un error desconegut",
"vaultAuthDescription": "S'ha obert una finestra per iniciar la sessió a HashiCorp Vault. Completeu l'inici de sessió allà; aquesta connexió continuarà automàticament.",
"vaultAuthFailed": "L'autenticació de la caixa forta ha fallat. Torna-ho a provar.",
"vaultAuthTitle": "Cal iniciar sessió a la caixa forta",
"vaultReopen": "Torna a obrir la finestra d'inici de sessió",
"websocketAbnormalClose": "La connexió s'ha tancat inesperadament. Això pot ser degut a un problema de configuració del proxy invers o de l'SSL. Si us plau, reviseu els registres del servidor.",
"websocketError": "Error de connexió de WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} okno",
"tmuxWindows": "Okna",
"unknownError": "Došlo k neznámé chybě",
"vaultAuthDescription": "Otevřelo se okno pro přihlášení do HashiCorp Vault. Dokončete přihlášení tam; toto připojení bude automaticky pokračovat.",
"vaultAuthFailed": "Ověření v trezoru se nezdařilo. Zkuste to prosím znovu.",
"vaultAuthTitle": "Vyžaduje se přihlášení do trezoru",
"vaultReopen": "Znovu otevřít přihlašovací okno",
"websocketAbnormalClose": "Spojení se neočekávaně ukončilo. Může to být způsobeno problémem s reverzní proxy nebo konfigurací SSL. Zkontrolujte prosím protokoly serveru.",
"websocketError": "Chyba připojení k WebSocketu"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} vindue",
"tmuxWindows": "Vinduer",
"unknownError": "Der opstod en ukendt fejl",
"vaultAuthDescription": "Et vindue er åbnet, hvor du kan logge ind på HashiCorp Vault. Fuldfør loginprocessen der; forbindelsen fortsætter automatisk.",
"vaultAuthFailed": "Godkendelse af arkiv mislykkedes. Prøv igen.",
"vaultAuthTitle": "Login til Vault kræves",
"vaultReopen": "Genåbn loginvinduet",
"websocketAbnormalClose": "Forbindelsen blev lukket uventet. Dette kan skyldes et problem med reverse proxy eller SSL-konfigurationen. Tjek venligst serverlogfilerne.",
"websocketError": "WebSocket-forbindelsesfejl"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} Fenster",
"tmuxWindows": "Fenster",
"unknownError": "Unbekannter Fehler aufgetreten",
"vaultAuthDescription": "Ein Fenster zur Anmeldung bei HashiCorp Vault wurde geöffnet. Schließen Sie die Anmeldung dort ab; diese Verbindung wird automatisch fortgesetzt.",
"vaultAuthFailed": "Vault-Authentifizierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
"vaultAuthTitle": "Vault-Anmeldung erforderlich",
"vaultReopen": "Anmeldefenster erneut öffnen",
"websocketAbnormalClose": "Verbindung unerwartet geschlossen. Dies kann auf ein Problem mit dem Reverse-Proxy oder der SSL-Konfiguration zurückzuführen sein. Bitte überprüfen Sie die Server-Logs.",
"websocketError": "WebSocket-Verbindungsfehler"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "παράθυρο {{count}}",
"tmuxWindows": "Παράθυρα",
"unknownError": "Παρουσιάστηκε άγνωστο σφάλμα",
"vaultAuthDescription": "Έχει ανοίξει ένα παράθυρο για να συνδεθείτε στο HashiCorp Vault. Ολοκληρώστε τη σύνδεση εκεί. Αυτή η σύνδεση θα συνεχιστεί αυτόματα.",
"vaultAuthFailed": "Ο έλεγχος ταυτότητας του vault απέτυχε. Δοκιμάστε ξανά.",
"vaultAuthTitle": "Απαιτείται σύνδεση στο Vault",
"vaultReopen": "Επανάνοιγμα παραθύρου σύνδεσης",
"websocketAbnormalClose": "Η σύνδεση έκλεισε απροσδόκητα. Αυτό μπορεί να οφείλεται σε πρόβλημα αντίστροφης μεσολάβησης ή ρύθμισης παραμέτρων SSL. Ελέγξτε τα αρχεία καταγραφής διακομιστή.",
"websocketError": "Σφάλμα σύνδεσης WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} ventana",
"tmuxWindows": "Ventanas",
"unknownError": "Se ha producido un error desconocido.",
"vaultAuthDescription": "Se ha abierto una ventana para iniciar sesión en HashiCorp Vault. Completa el inicio de sesión allí; esta conexión continuará automáticamente.",
"vaultAuthFailed": "La autenticación de Vault falló. Inténtalo de nuevo.",
"vaultAuthTitle": "Inicio de sesión en Vault requerido",
"vaultReopen": "Reabrir ventana de inicio de sesión",
"websocketAbnormalClose": "La conexión se cerró de forma inesperada. Esto puede deberse a un problema con el proxy inverso o la configuración SSL. Revisa los registros del servidor.",
"websocketError": "Error de conexión WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} ikkuna",
"tmuxWindows": "Ikkunat",
"unknownError": "Tuntematon virhe tapahtui",
"vaultAuthDescription": "Ikkuna HashiCorp-holviin kirjautumista varten on avautunut. Kirjaudu sisään siinä. Yhteys jatkuu automaattisesti.",
"vaultAuthFailed": "Holvin todennus epäonnistui. Yritä uudelleen.",
"vaultAuthTitle": "Holviin kirjautuminen vaaditaan",
"vaultReopen": "Avaa kirjautumisikkuna uudelleen",
"websocketAbnormalClose": "Yhteys katkesi odottamatta. Tämä voi johtua käänteisestä välityspalvelimesta tai SSL-määritysongelmasta. Tarkista palvelimen lokit.",
"websocketError": "WebSocket-yhteysvirhe"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} fenêtre(s)",
"tmuxWindows": "Fenêtres",
"unknownError": "Une erreur inconnue s'est produite",
"vaultAuthDescription": "Une fenêtre s'est ouverte pour vous connecter à HashiCorp Vault. Terminez la connexion dans cette fenêtre ; cette connexion continuera automatiquement.",
"vaultAuthFailed": "Échec de l'authentification Vault. Veuillez réessayer.",
"vaultAuthTitle": "Connexion à Vault requise",
"vaultReopen": "Rouvrir la fenêtre de connexion",
"websocketAbnormalClose": "Connexion fermée de manière inattendue. Cela peut être dû à un problème de proxy inverse ou de configuration SSL. Veuillez vérifier les journaux du serveur.",
"websocketError": "Erreur de connexion WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "חלון {{count}}",
"tmuxWindows": "חלונות",
"unknownError": "אירעה שגיאה לא ידועה",
"vaultAuthDescription": "נפתח חלון לכניסה לכספת HashiCorp. השלם את תהליך הכניסה שם; חיבור זה ימשיך אוטומטית.",
"vaultAuthFailed": "אימות הכספת נכשל. אנא נסה שוב.",
"vaultAuthTitle": "נדרשת כניסה לכספת",
"vaultReopen": "פתח מחדש את חלון הכניסה",
"websocketAbnormalClose": "החיבור נסגר באופן בלתי צפוי. ייתכן שהדבר נובע מבעיית פרוקסי הפוך או מבעיית תצורת SSL. אנא בדוק את יומני השרת.",
"websocketError": "שגיאת חיבור WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} विंडो",
"tmuxWindows": "विंडो",
"unknownError": "अज्ञात त्रुटि हुई",
"vaultAuthDescription": "HashiCorp Vault में साइन इन करने के लिए एक विंडो खुल गई है। वहाँ साइन-इन पूरा करें; यह कनेक्शन स्वचालित रूप से जारी रहेगा।",
"vaultAuthFailed": "Vault प्रमाणीकरण विफल। कृपया पुनः प्रयास करें।",
"vaultAuthTitle": "Vault साइन-इन आवश्यक है",
"vaultReopen": "साइन-इन विंडो फिर से खोलें",
"websocketAbnormalClose": "कनेक्शन अप्रत्याशित रूप से बंद हो गया। यह रिवर्स प्रॉक्सी या SSL कॉन्फ़िगरेशन समस्या के कारण हो सकता है। कृपया सर्वर लॉग जाँचें।",
"websocketError": "WebSocket कनेक्शन त्रुटि"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} ablak",
"tmuxWindows": "Ablakok",
"unknownError": "Ismeretlen hiba történt",
"vaultAuthDescription": "Megnyílt egy ablak a HashiCorp Vaultba való bejelentkezéshez. Fejezze be a bejelentkezést ott; a kapcsolat automatikusan folytatódik.",
"vaultAuthFailed": "A trezor hitelesítése sikertelen. Próbálja újra.",
"vaultAuthTitle": "Bejelentkezés szükséges a széfbe",
"vaultReopen": "Bejelentkezési ablak újranyitása",
"websocketAbnormalClose": "A kapcsolat váratlanul megszakadt. Ennek oka lehet fordított proxy vagy SSL konfigurációs probléma. Kérjük, ellenőrizze a szervernaplókat.",
"websocketError": "WebSocket csatlakozási hiba"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} jendela",
"tmuxWindows": "Windows",
"unknownError": "Terjadi kesalahan yang tidak diketahui.",
"vaultAuthDescription": "Jendela telah terbuka untuk masuk ke HashiCorp Vault. Selesaikan proses masuk di sana; koneksi ini akan berlanjut secara otomatis.",
"vaultAuthFailed": "Autentikasi Vault gagal. Silakan coba lagi.",
"vaultAuthTitle": "Login ke Vault diperlukan.",
"vaultReopen": "Buka kembali jendela masuk",
"websocketAbnormalClose": "Koneksi terputus secara tidak terduga. Ini mungkin disebabkan oleh masalah konfigurasi reverse proxy atau SSL. Silakan periksa log server.",
"websocketError": "Kesalahan koneksi WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} finestra",
"tmuxWindows": "Finestre",
"unknownError": "Si è verificato un errore sconosciuto",
"vaultAuthDescription": "Una finestra si è aperta per accedere a HashiCorp Vault. Completa l'accesso lì; la connessione continuerà automaticamente.",
"vaultAuthFailed": "Autenticazione Vault fallita. Riprova.",
"vaultAuthTitle": "Accesso a Vault richiesto",
"vaultReopen": "Riapri la finestra di accesso",
"websocketAbnormalClose": "La connessione si è chiusa in modo imprevisto. Potrebbe trattarsi di un problema di reverse proxy o configurazione SSL. Controlla i log del server.",
"websocketError": "Errore di connessione WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} ウィンドウ",
"tmuxWindows": "ウィンドウ",
"unknownError": "不明なエラーが発生しました",
"vaultAuthDescription": "HashiCorp Vaultへのサインイン用のウィンドウが開きました。そこでサインインを完了すると、この接続は自動的に続行されます。",
"vaultAuthFailed": "Vault 認証に失敗しました。もう一度お試しください。",
"vaultAuthTitle": "Vault サインインが必要です",
"vaultReopen": "サインインウィンドウを再表示",
"websocketAbnormalClose": "接続が予期せず切断されました。リバースプロキシまたはSSLの設定に問題がある可能性があります。サーバーログを確認してください。",
"websocketError": "WebSocket接続エラー"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}}개 윈도우",
"tmuxWindows": "윈도우",
"unknownError": "알 수 없는 오류가 발생했습니다.",
"vaultAuthDescription": "HashiCorp Vault 로그인을 위한 창이 열렸습니다. 해당 창에서 로그인을 완료하면 연결이 자동으로 계속됩니다.",
"vaultAuthFailed": "Vault 인증에 실패했습니다. 다시 시도하세요.",
"vaultAuthTitle": "Vault 로그인 필요",
"vaultReopen": "로그인 창 다시 열기",
"websocketAbnormalClose": "연결이 예기치 않게 종료되었습니다. 리버스 프록시 또는 SSL 구성 문제일 수 있습니다. 서버 로그를 확인하세요.",
"websocketError": "WebSocket 연결 오류"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} venster",
"tmuxWindows": "Windows",
"unknownError": "Er is een onbekende fout opgetreden.",
"vaultAuthDescription": "Er is een venster geopend om in te loggen bij HashiCorp Vault. Voltooi de aanmelding daar; deze verbinding wordt automatisch tot stand gebracht.",
"vaultAuthFailed": "Authenticatie voor de kluis is mislukt. Probeer het opnieuw.",
"vaultAuthTitle": "Aanmelden bij Vault is vereist.",
"vaultReopen": "Heropen het aanmeldvenster",
"websocketAbnormalClose": "De verbinding is onverwacht verbroken. Dit kan te wijten zijn aan een probleem met de reverse proxy of de SSL-configuratie. Controleer de serverlogboeken.",
"websocketError": "WebSocket-verbindingsfout"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} vindu",
"tmuxWindows": "Vinduer",
"unknownError": "Ukjent feil oppstod",
"vaultAuthDescription": "Et vindu har åpnet seg for å logge på HashiCorp Vault. Fullfør påloggingen der; denne tilkoblingen vil fortsette automatisk.",
"vaultAuthFailed": "Hvelv-autentisering mislyktes. Prøv på nytt.",
"vaultAuthTitle": "Pålogging til arkivet kreves",
"vaultReopen": "Åpne påloggingsvinduet på nytt",
"websocketAbnormalClose": "Tilkoblingen ble avsluttet uventet. Dette kan skyldes et problem med omvendt proxy eller SSL-konfigurasjon. Sjekk serverloggene.",
"websocketError": "WebSocket-tilkoblingsfeil"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} okno",
"tmuxWindows": "Okna",
"unknownError": "Wystąpił nieznany błąd",
"vaultAuthDescription": "Otworzyło się okno logowania do HashiCorp Vault. Dokończ logowanie, a połączenie zostanie nawiązane automatycznie.",
"vaultAuthFailed": "Uwierzytelnienie w Vault nie powiodło się. Spróbuj ponownie.",
"vaultAuthTitle": "Wymagane logowanie do Vault",
"vaultReopen": "Otwórz ponownie okno logowania",
"websocketAbnormalClose": "Połączenie zostało nieoczekiwanie zamknięte. Przyczyną może być reverse proxy lub problem z konfiguracją SSL. Sprawdź logi serwera.",
"websocketError": "Błąd połączenia WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} janela",
"tmuxWindows": "Windows",
"unknownError": "Ocorreu um erro desconhecido.",
"vaultAuthDescription": "Uma janela foi aberta para fazer login no HashiCorp Vault. Conclua o login; esta conexão será estabelecida automaticamente.",
"vaultAuthFailed": "A autenticação do cofre falhou. Tente novamente.",
"vaultAuthTitle": "É necessário fazer login no cofre.",
"vaultReopen": "Reabrir janela de login",
"websocketAbnormalClose": "A conexão foi encerrada inesperadamente. Isso pode ter ocorrido devido a um problema de configuração de proxy reverso ou SSL. Verifique os registros do servidor.",
"websocketError": "Erro de conexão WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} janela",
"tmuxWindows": "Janelas",
"unknownError": "Ocorreu um erro desconhecido.",
"vaultAuthDescription": "Foi aberta uma janela para iniciar sessão no HashiCorp Vault. Conclua o início de sessão aí; esta ligação continuará automaticamente.",
"vaultAuthFailed": "A autenticação no Vault falhou. Tente novamente.",
"vaultAuthTitle": "Início de sessão no Vault necessário",
"vaultReopen": "Reabrir janela de início de sessão",
"websocketAbnormalClose": "A ligação foi fechada inesperadamente. Isto pode dever-se a um problema de configuração do proxy reverso ou SSL. Verifique os registos do servidor.",
"websocketError": "Erro de ligação WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "fereastră {{count}}",
"tmuxWindows": "Ferestre",
"unknownError": "A apărut o eroare necunoscută",
"vaultAuthDescription": "S-a deschis o fereastră pentru a vă conecta la HashiCorp Vault. Finalizați conectarea acolo; această conexiune va continua automat.",
"vaultAuthFailed": "Autentificarea în seif a eșuat. Vă rugăm să încercați din nou.",
"vaultAuthTitle": "Este necesară conectarea la seif",
"vaultReopen": "Redeschideți fereastra de conectare",
"websocketAbnormalClose": "Conexiunea s-a închis pe neașteptate. Acest lucru se poate datora unei probleme de configurare a proxy-ului invers sau a SSL. Vă rugăm să verificați jurnalele serverului.",
"websocketError": "Eroare de conexiune WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} окно",
"tmuxWindows": "Окна",
"unknownError": "Произошла неизвестная ошибка",
"vaultAuthDescription": "Открыто окно для входа в HashiCorp Vault. Завершите вход там; подключение продолжится автоматически.",
"vaultAuthFailed": "Аутентификация Vault не удалась. Попробуйте снова.",
"vaultAuthTitle": "Требуется вход в Vault",
"vaultReopen": "Повторно открыть окно входа",
"websocketAbnormalClose": "Соединение неожиданно закрыто. Возможно, проблема с обратным прокси или конфигурацией SSL. Проверьте журналы сервера.",
"websocketError": "Ошибка подключения WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} прозор",
"tmuxWindows": "Прозори",
"unknownError": "Дошло је до непознате грешке",
"vaultAuthDescription": "Отворио се прозор за пријављивање на HashiCorp Vault. Завршите пријављивање тамо; ова веза ће се аутоматски наставити.",
"vaultAuthFailed": "Аутентификација трезора није успела. Молимо покушајте поново.",
"vaultAuthTitle": "Потребно је пријављивање у трезор",
"vaultReopen": "Поново отвори прозор за пријављивање",
"websocketAbnormalClose": "Веза је неочекивано прекинута. Ово може бити због проблема са обрнутим проксијем или SSL конфигурацијом. Молимо вас да проверите логове сервера.",
"websocketError": "Грешка у повезивању са WebSocket-ом"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} fönster",
"tmuxWindows": "Fönster",
"unknownError": "Okänt fel inträffade",
"vaultAuthDescription": "Ett fönster har öppnats för att logga in på HashiCorp Vault. Slutför inloggningen där; anslutningen fortsätter automatiskt.",
"vaultAuthFailed": "Valvautentisering misslyckades. Försök igen.",
"vaultAuthTitle": "Inloggning till arkivet krävs",
"vaultReopen": "Öppna inloggningsfönstret igen",
"websocketAbnormalClose": "Anslutningen stängdes oväntat. Detta kan bero på ett problem med omvänd proxy eller SSL-konfiguration. Kontrollera serverloggarna.",
"websocketError": "WebSocket-anslutningsfel"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} หน้าต่าง",
"tmuxWindows": "วินโดวส์",
"unknownError": "เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ",
"vaultAuthDescription": "หน้าต่างสำหรับเข้าสู่ระบบ HashiCorp Vault ได้เปิดขึ้นแล้ว โปรดทำการเข้าสู่ระบบให้เสร็จสมบูรณ์ การเชื่อมต่อนี้จะดำเนินการต่อโดยอัตโนมัติ",
"vaultAuthFailed": "การตรวจสอบสิทธิ์ Vault ล้มเหลว โปรดลองอีกครั้ง",
"vaultAuthTitle": "ต้องลงชื่อเข้าใช้ Vault",
"vaultReopen": "เปิดหน้าต่างเข้าสู่ระบบอีกครั้ง",
"websocketAbnormalClose": "การเชื่อมต่อถูกตัดโดยไม่คาดคิด อาจเกิดจากปัญหาเกี่ยวกับรีเวิร์สพร็อกซีหรือการกำหนดค่า SSL โปรดตรวจสอบบันทึกของเซิร์ฟเวอร์",
"websocketError": "ข้อผิดพลาดในการเชื่อมต่อ WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} pencere",
"tmuxWindows": "Pencereler",
"unknownError": "Bilinmeyen bir hata oluştu",
"vaultAuthDescription": "HashiCorp Vault'ta oturum açmak için bir pencere açıldı. Orada oturum açmayı tamamlayın; bu bağlantı otomatik olarak devam edecek.",
"vaultAuthFailed": "Vault kimlik doğrulaması başarısız oldu. Lütfen tekrar deneyin.",
"vaultAuthTitle": "Vault Oturum Açması Gerekli",
"vaultReopen": "Oturum açma penceresini yeniden aç",
"websocketAbnormalClose": "Bağlantı beklenmedik şekilde kapandı. Bu, ters proxy veya SSL yapılandırma sorunundan kaynaklanabilir. Lütfen sunucu günlüklerini kontrol edin.",
"websocketError": "WebSocket bağlantı hatası"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "вікно {{count}}",
"tmuxWindows": "Вікна",
"unknownError": "Сталася невідома помилка",
"vaultAuthDescription": "Відкрилося вікно для входу в HashiCorp Vault. Завершіть вхід там; це з’єднання буде продовжено автоматично.",
"vaultAuthFailed": "Не вдалося виконати автентифікацію сховища. Спробуйте ще раз.",
"vaultAuthTitle": "Потрібен вхід до Сейфа",
"vaultReopen": "Знову відкрити вікно входу",
"websocketAbnormalClose": "З’єднання несподівано завершилося. Можливо, це пов’язано зі зворотним проксі-сервером або проблемою конфігурації SSL. Перевірте журнали сервера.",
"websocketError": "Помилка підключення WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} cửa sổ",
"tmuxWindows": "Cửa sổ",
"unknownError": "Lỗi không xác định đã xảy ra",
"vaultAuthDescription": "Một cửa sổ đã mở để đăng nhập vào HashiCorp Vault. Hoàn tất đăng nhập ở đó; kết nối này sẽ tự động tiếp tục.",
"vaultAuthFailed": "Xác thực Vault thất bại. Vui lòng thử lại.",
"vaultAuthTitle": "Yêu cầu đăng nhập Vault",
"vaultReopen": "Mở lại cửa sổ đăng nhập",
"websocketAbnormalClose": "Kết nối đóng đột ngột. Có thể do sự cố cấu hình reverse proxy hoặc SSL. Vui lòng kiểm tra nhật ký máy chủ.",
"websocketError": "Lỗi kết nối WebSocket"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} 个窗口",
"tmuxWindows": "窗口",
"unknownError": "发生未知错误",
"vaultAuthDescription": "已打开窗口以登录 HashiCorp Vault。在该处完成登录;此连接将自动继续。",
"vaultAuthFailed": "Vault 认证失败,请重试。",
"vaultAuthTitle": "需要 Vault 登录",
"vaultReopen": "重新打开登录窗口",
"websocketAbnormalClose": "连接意外关闭。这可能是因为反向代理或SSL配置问题。请检查服务器日志。",
"websocketError": "WebSocket 连接错误"
},
@@ -74,10 +74,6 @@
"tmuxWindowCount": "{{count}} 個視窗",
"tmuxWindows": "視窗",
"unknownError": "發生未知錯誤",
"vaultAuthDescription": "已開啟視窗以登入 HashiCorp Vault。在該處完成登入;此連線將自動繼續。",
"vaultAuthFailed": "Vault 驗證失敗。請再試一次。",
"vaultAuthTitle": "需要 Vault 登入",
"vaultReopen": "重新開啟登入視窗",
"websocketAbnormalClose": "連線意外關閉。這可能是由於反向代理或 SSL 設定問題所導致。請檢查伺服器記錄。",
"websocketError": "WebSocket 連線錯誤"
},
@@ -1141,7 +1141,7 @@ export function createTerminalSocket(deps: TerminalSocketDeps) {
/**
* Starts the browser sign-in behind an "<interaction>_auth_required"
* message. The provider for the host's auth type wins; otherwise the first
* provider that owns this interaction (Vault attaches to any auth type).
* provider that owns this interaction.
*/
async function startAuthInteraction(
interaction: string,
@@ -342,15 +342,6 @@ const TerminalInner = forwardRef<TerminalHandle, SSHTerminalProps>(
const currentHostIdRef = useRef<number | null>(null);
const currentHostConfigRef = useRef<TerminalHostConfig | null>(null);
// Vault SSH signer interactive OIDC flow
const [vaultDialog, setVaultDialog] = useState<{
stage: "waiting" | "error";
error?: string;
} | null>(null);
const vaultFailedRef = useRef(false);
const vaultPopupRef = useRef<Window | null>(null);
const vaultTimeoutRef = useRef<NodeJS.Timeout | null>(null);
const [hostKeyVerification, setHostKeyVerification] = useState<{
isOpen: boolean;
scenario: "new" | "changed";
@@ -1909,7 +1900,6 @@ const TerminalInner = forwardRef<TerminalHandle, SSHTerminalProps>(
updateConnectionError(errorMessage);
setIsConnecting(false);
} else if (msg.type === "connected") {
vaultFailedRef.current = false;
wasConnectedRef.current = true;
setIsConnected(true);
setIsConnecting(false);
@@ -2104,86 +2094,6 @@ const TerminalInner = forwardRef<TerminalHandle, SSHTerminalProps>(
webSocketRef.current.close();
}
}, 300000);
} else if (msg.type === "vault_auth_required") {
if (connectionTimeoutRef.current) {
clearTimeout(connectionTimeoutRef.current);
connectionTimeoutRef.current = null;
}
if (vaultFailedRef.current) {
setVaultDialog({
stage: "error",
error: t("terminal.vaultAuthFailed"),
});
updateConnectionError(t("terminal.vaultAuthFailed"));
addLog({
type: "error",
stage: "auth",
message: t("terminal.vaultAuthFailed"),
});
} else {
vaultFailedRef.current = true;
webSocketRef.current?.send(
JSON.stringify({
type: "vault_start_auth",
data: { hostId: msg.hostId },
}),
);
}
} else if (msg.type === "vault_auth_url") {
if (connectionErrorRef.current) return;
try {
vaultPopupRef.current = window.open(
msg.url,
"termix-vault-oidc",
"width=540,height=720",
);
} catch {
vaultPopupRef.current = null;
}
setVaultDialog({ stage: "waiting" });
if (vaultTimeoutRef.current) clearTimeout(vaultTimeoutRef.current);
vaultTimeoutRef.current = setTimeout(() => {
setVaultDialog(null);
webSocketRef.current?.close();
}, 300000);
} else if (msg.type === "vault_completed") {
if (vaultTimeoutRef.current) {
clearTimeout(vaultTimeoutRef.current);
vaultTimeoutRef.current = null;
}
try {
vaultPopupRef.current?.close();
} catch {
// popup may already be closed
}
setVaultDialog(null);
if (webSocketRef.current && terminal) {
webSocketRef.current.send(
JSON.stringify({
type: "vault_auth_completed",
data: {
hostId: currentHostIdRef.current,
cols: terminal.cols || 80,
rows: terminal.rows || 24,
hostConfig: currentHostConfigRef.current,
},
}),
);
}
} else if (msg.type === "vault_error") {
if (connectionErrorRef.current) return;
vaultFailedRef.current = true;
if (vaultTimeoutRef.current) {
clearTimeout(vaultTimeoutRef.current);
vaultTimeoutRef.current = null;
}
try {
vaultPopupRef.current?.close();
} catch {
// popup may already be closed
}
setVaultDialog({ stage: "error", error: msg.error });
setIsConnecting(false);
} else if (msg.type === "keyboard_interactive_available") {
setKeyboardInteractiveDetected(true);
setIsConnecting(false);
@@ -2240,7 +2150,6 @@ const TerminalInner = forwardRef<TerminalHandle, SSHTerminalProps>(
}
} else if (msg.type === "sessionAttached") {
isAttachingSessionRef.current = false;
vaultFailedRef.current = false;
wasConnectedRef.current = true;
setIsConnected(true);
setIsConnecting(false);
@@ -3884,70 +3793,6 @@ const TerminalInner = forwardRef<TerminalHandle, SSHTerminalProps>(
props={overlayProps as unknown as Record<string, unknown>}
/>
{vaultDialog && (
<div className="absolute inset-0 z-50 flex items-center justify-center bg-black/60">
<div className="w-[420px] max-w-[90%] border border-border bg-background p-5 shadow-lg">
<h3 className="text-sm font-bold mb-2 text-foreground">
{vaultDialog.stage === "error"
? t("terminal.vaultAuthFailed")
: t("terminal.vaultAuthTitle")}
</h3>
{vaultDialog.stage === "error" ? (
<p className="text-xs text-destructive mb-4 break-words">
{vaultDialog.error || t("terminal.vaultAuthFailed")}
</p>
) : (
<p className="text-xs text-muted-foreground mb-4">
{t("terminal.vaultAuthDescription")}
</p>
)}
<div className="flex justify-end gap-2">
{vaultDialog.stage === "waiting" && (
<Button
variant="outline"
size="sm"
onClick={() => {
try {
vaultPopupRef.current?.focus();
} catch {
// popup may be gone
}
}}
>
{t("terminal.vaultReopen")}
</Button>
)}
<Button
variant="ghost"
size="sm"
onClick={() => {
if (vaultTimeoutRef.current) {
clearTimeout(vaultTimeoutRef.current);
vaultTimeoutRef.current = null;
}
try {
vaultPopupRef.current?.close();
} catch {
// popup may already be closed
}
webSocketRef.current?.send(
JSON.stringify({
type: "vault_cancel",
data: { hostId: currentHostIdRef.current },
}),
);
setVaultDialog(null);
}}
>
{vaultDialog.stage === "error"
? t("common.close")
: t("hosts.cancelBtn")}
</Button>
</div>
</div>
</div>
)}
{hostKeyVerification?.isOpen && (
<HostKeyVerificationDialog
isOpen={true}