
TUI के साथ उन्नत SSH क्लाइंट — कनेक्शन, कुंजियाँ और सत्र प्रबंधित करें
███████╗███████╗███████╗██╗ ██╗
██╔════╝██╔════╝██╔════╝██║ ██║
█████╗ ███████╗███████╗███████║
██╔══╝ ╚════██║╚════██║██╔══██║
███████╗███████║███████║██║ ██║
╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝
बेड़े वाले लोगों के लिए उन्नत SSH
एक शुद्ध-Rust SSH क्लाइंट जिसमें सघन, Netwatch-शैली का TUI है। कई सत्र, लाइव होस्ट मेट्रिक्स, और बेड़े-व्यापी विचलन — टर्मिनल छोड़े बिना।

cargo install essh
या macOS या Linux, arm64 या x86_64 के लिए एक बाइनरी लें, Releases से।
स्रोत से:
git clone https://github.com/matthart1983/essh && cd essh
cargo build --release # ./target/release/essh
essh # लॉन्चर: खोजने के लिए टाइप करें, कनेक्ट करने के लिए Enter दबाएं
essh connect deploy@web-01 # सीधे किसी होस्ट पर जाएं
essh workspace open prod # सहेजे गए सत्रों का सेट पुनर्स्थापित करें
essh run web -- uptime # टैग किए गए समूह में एक कमांड फैलाएं
होस्ट ~/.ssh/config से आते हैं — जिसमें IdentityFile, ProxyJump और
Match शामिल हैं — इसलिए शुरू करने से पहले आयात करने के लिए कुछ भी नहीं है।
हर सामान्य चीज़ एक कीप्रेस है। शेल हर Ctrl संयोजन रखता है,
इसलिए Ctrl+D अभी भी EOF का मतलब है और Ctrl+C अभी भी इंटरप्ट करता है।
F1 मदद | F2 मॉनिटर | F3 फ़ाइलें | F4 पोर्ट फ़ॉरवर्ड |
F5 मिनी मॉनिटर | F6 अलग करें | F7/F8 पिछला/अगला सत्र | F9 नया सत्र |
F10 कमांड मेनू |
macOS पर, वह पंक्ति डिफ़ॉल्ट रूप से चमक और वॉल्यूम है — F10 म्यूट करता है।
या तो उनके साथ fn दबाए रखें, या एक बार System Settings → Keyboard → Use F1, F2,
etc. as standard function keys चालू करें। नीचे दिया गया प्रीफ़िक्स मार्ग किसी की भी आवश्यकता नहीं है और
हर जगह काम करता है।
बाकी सबके लिए, Ctrl+A दबाएं, छोड़ दें, फिर कुंजी — s विभाजित करें, w बंद करें,
t थीम, 1–9 सत्र पर जाएं, [/] आकार बदलें। सत्र के नीचे की पट्टी
उन कुंजियों को सूचीबद्ध करती है जो अभी लागू होती हैं, इसलिए याद रखने के लिए कुछ भी नहीं है।
[session] के अंतर्गत prefix_key के साथ प्रीफ़िक्स बदलें।
Option/Alt संयोजन डैशबोर्ड और अन्य स्क्रीन पर काम करते हैं, लेकिन
शेल के फोकस में रहते हुए नहीं — वहाँ essh ठीक एक कुंजी दावा करता है, प्रीफ़िक्स,
और बाकी सब आगे भेजता है, इसलिए Alt+f readline का forward-word बना रहता है और
Alt+. yank-last-argument बना रहता है। एक सत्र में यह फ़ंक्शन कुंजियाँ या
प्रीफ़िक्स है।
| कई सत्र | एक विंडो में टैब और विभाजन, प्रति-सत्र स्क्रॉलबैक और पुनःकनेक्शन के साथ। |
| लाइव होस्ट मॉनिटर | CPU, मेमोरी, डिस्क, नेटवर्क और शीर्ष प्रक्रियाएँ, पृष्ठभूमि में नमूना लिया गया ताकि दृश्य खोलते समय गर्म हो। कोई एजेंट नहीं — सादे SSH exec चैनल। |
| विचलन | प्रत्येक होस्ट की तुलना उसके पीयर सेट से करता है और आपको बताता है कि कौन सा होस्ट भिन्न है, किस पहलू पर, और क्यों। |
| फ़ाइल स्थानांतरण | SFTP पर दो-पैनल स्थानीय/दूरस्थ ब्राउज़र। |
| पोर्ट फ़ॉरवर्डिंग | सत्र को छोड़े बिना फ़ॉरवर्ड जोड़ें, निरीक्षण करें और हटाएं। |
| ऑडिट और रीप्ले | संरचित JSON ऑडिट लॉग; सत्र रीप्ले के लिए asciicast में रिकॉर्ड होते हैं। |
चालीस वेब सर्वर, उनतीस ठीक, और एक अलग कर्नेल या
हाथ से संपादित nginx.conf वाला। हरे बिंदुओं का एक कॉलम संरचनात्मक रूप से आपको
वह नहीं दिखा सकता।
ESSH होस्ट को टैग द्वारा पीयर सेट में समूहित करता है, प्रत्येक से समान तथ्य एकत्र करता है, और समूह की सर्वसम्मति के विरुद्ध प्रत्येक होस्ट को स्कोर करता है:
100.0% of 16 facet-checks agree
0 facets diverge across 0 hosts.
2 hosts have never been probed, so their facets are unknown rather than in agreement.
Fleet स्क्रीन आउटलायर और दावे के पीछे के पहलुओं का नाम बताती है, इसलिए निर्णय दावा किए जाने के बजाय जाँचने योग्य है। जो तथ्य यह एकत्र नहीं कर सकता वे असंग्रहीत के रूप में रिपोर्ट किए जाते हैं — कभी सहमति के रूप में नहीं।
आठ, t के साथ चक्रित (और एक सत्र के अंदर Alt+t, जहाँ t शेल का है),
कॉन्फ़िग में सहेजी गई:
dark (डिफ़ॉल्ट) · terminal · light · solarized · dracula · nord · ocean · sky
terminal अपने कोई रंग नहीं पिन करता — हर स्लॉट एक ANSI प्रविष्टि में हल होता है और
अग्रभूमि और पृष्ठभूमि आपके टर्मिनल के अपने रंगों का उपयोग करते हैं, इसलिए pywal, matugen या एक
टर्मिनल प्रोफ़ाइल सीधे ले जाती है। sky और light अपनी खुद की ज़मीन रंगते हैं;
ocean शीर्ष पर एक निश्चित पैलेट के साथ आपके टर्मिनल का उपयोग करता है।
या कमांड मेनू से सीधे एक पर जाएं — F10, या एक सत्र के बाहर Ctrl+P —
और इसका नाम टाइप करें।
essh --theme terminal # यह भी स्वीकार करता है: system, ansi
essh --theme dracula hosts list
फ़्लैग एक रन के लिए लागू होता है और वापस नहीं लिखा जाता है, इसलिए यह बिना
प्रतिबद्ध हुए एक को आज़माने का एक तरीका है। TUI में t इसे बदलता है और सहेजता है।
स्टेट ~/.essh/ में रहता है: config.toml, cache.db, audit.log,
sessions/, recordings/, known_cas/।
essh config init # एक डिफ़ॉल्ट कॉन्फ़िग लिखें
essh config edit # इसे $EDITOR में खोलें
essh config resolve web-01 # दिखाएं कि ssh_config एक होस्ट को कैसे हल करता है
होस्ट कुंजियाँ सत्यापित और कैश की जाती हैं, एक कॉन्फ़िगर करने योग्य TOFU नीति के साथ
(strict, prompt, auto)। सिफर और KEX एल्गोरिदम प्रतिबंधित किए जा सकते हैं।
पूर्ण कॉन्फ़िगरेशन और वास्तुकला संदर्भ: SPEC.md।
essh hosts list | add | remove | import | health
essh keys list | add | remove
essh workspace list | open | save | show | remove
essh session list | replay <id>
essh diag <session-id> # पिछले सत्र के लिए निदान
essh why <host> # समझाएं कि होस्ट कनेक्ट क्यों नहीं होगा
essh audit tail --lines 20
essh bench # प्रकाशित प्रदर्शन संख्याएँ
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --check
CI हर पुश पर तीनों चलाता है।
tests/tui_harness.rs वास्तविक बाइनरी को PTY पर चलाता है और एक समय सीमा के साथ एक पार्स किए गए
टर्मिनल स्क्रीन पर दावा करता है, क्योंकि TUI में मायने रखने वाली विफलताएँ
एक गलत फ्रेम के बजाय एक फ्रेम की अनुपस्थिति हैं। जिन परीक्षणों को SSH की आवश्यकता होती है वे
स्वयं को छोड़ देते हैं जब कोई होस्ट पहुंच योग्य नहीं होता है।
Fork करें, branch करें, परिवर्तन करें, ऊपर दिए गए तीन जाँच चलाएं, एक PR खोलें।
MIT. देखें LICENSE।