- SSH3 एक अगली पीढ़ी का secure shell protocol है जो HTTP/3 के ऊपर काम करता है, और पारंपरिक SSHv2 की तुलना में session connection speed को काफी बेहतर बनाता है
- QUIC और TLS 1.3 के जरिए एक secure channel बनाता है, और OAuth 2.0, OpenID Connect जैसी आधुनिक authentication systems को सपोर्ट करता है
- सर्वर को एक secret path के पीछे छिपाया जा सकता है, इसलिए यह port scanning जैसे हमलों के खिलाफ अधिक मज़बूत है, और UDP port forwarding/QUIC multipath जैसी नई क्षमताएँ देता है
- इसने OpenSSH की कई core features पहले ही अपना ली हैं, लेकिन फिलहाल यह experimental चरण में है, इसलिए production environment में इसकी deployment की सिफारिश नहीं की जाती
- SSH3 नाम को लेकर काफ़ी आपत्तियाँ थीं, इसलिए standardization draft का नाम बदलकर “Remote Terminals over HTTP/3” कर दिया गया है और नाम बदलने की प्रक्रिया जारी है
SSH3 प्रोजेक्ट का अवलोकन और महत्व
- SSH3 एक open source solution है जो मौजूदा SSH protocol को HTTP/3 और आधुनिक web technologies के अनुरूप फिर से डिज़ाइन करता है
- मौजूदा SSH connection protocol (RFC4254) के semantics को HTTP/3 Extended CONNECT और QUIC+TLS 1.3 channel के ऊपर फिर से बनाया गया है
- इसे IETF Internet-Draft draft-michel-remote-terminal-http3 के रूप में प्रस्तावित किया गया है, और यह session connection speed को काफ़ी कम latency वाला बनाते हुए आधुनिक authentication methods के विस्तार जैसे कई फायदे देता है
- दूसरी SSH implementations की तुलना में, QUIC का उपयोग और hidden server configuration जैसे नए विचार इसकी खास पहचान हैं
मुख्य फीचर्स और विशेषताएँ
- तेज़ session connection
- जहाँ पारंपरिक SSHv2 connection को औसतन 5~7 network round trips की ज़रूरत होती है, वहीं SSH3 को केवल 3 round trips चाहिए, जिससे उपयोगकर्ता की प्रतीक्षा काफी कम हो जाती है
- key input latency मौजूदा स्तर के बराबर रहती है
- मज़बूत सुरक्षा
- TLS1.3, QUIC, और HTTP authentication पर आधारित होने के कारण यह उन tested security protocols का उपयोग करता है जो पहले से e-commerce और internet banking जैसी सेवाओं में इस्तेमाल होते हैं
- RSA, EdDSA/ed25519 आधारित public key methods और OAuth 2.0, OpenID Connect जैसी विभिन्न authentication methods को सपोर्ट करता है
- Google, Microsoft, Github accounts से भी login किया जा सकता है
- सर्वर को छिपाने की सुविधा
- सर्वर को किसी खास secret URL (उदाहरण: https://192.0.2.0:443/M3MzkxYWMx... आदि) के पीछे रखा जा सकता है, और केवल उसी URL पर authentication request आने पर जवाब दिया जाता है
- बाकी सभी requests पर 404 Not Found लौटाया जाता है, जिससे इंटरनेट पर मौजूद attackers या crawlers सर्वर के अस्तित्व का पता नहीं लगा पाते
- हालांकि secret path authentication का विकल्प नहीं है, इसलिए अलग authentication mechanism (public key, password, OIDC आदि) का उपयोग ज़रूर करना चाहिए
- लगातार विकसित होता experimental project
- इसकी संरचना के लिहाज़ से भरोसेमंद security validation अभी ज़रूरी है, और production servers पर इसे अपनाने की सिफारिश नहीं की जाती
- फिलहाल experimental environments या closed networks में community feedback लिया जा रहा है
- OpenSSH compatibility और अतिरिक्त फीचर्स
- ~/.ssh/authorized_keys और known_hosts parsing, ssh-agent integration, TCP/UDP port forwarding, Proxy Jump support
- UDP forwarding के समर्थन से DNS·RTP·QUIC services जैसी UDP-आधारित servers तक पहुँच मिलती है, और इसके लिए QUIC datagram path का उपयोग होता है
- X.509 certificates के माध्यम से HTTPS-स्तर की server authentication सुविधा
- Keyless authentication: OpenID Connect के जरिए public key कॉपी किए बिना enterprise SSO या Google/Github जैसे external accounts से ही access संभव
निष्कर्ष
- SSH3 एक open source experimental project है जो आधुनिक network protocols और authentication को अपनाकर SSH वातावरण को आगे बढ़ाता है
- यह speed, flexibility और security को काफ़ी मज़बूत बनाता है, लेकिन पर्याप्त validation से पहले production use में सावधानी बरतनी चाहिए
- यह OpenSSH जैसा user experience देता है और नए फीचर्स भी भरपूर प्रदान करता है
- सही security evaluation और community participation के साथ यह अगली पीढ़ी के SSH के रूप में उभरने की क्षमता रखता है
1 टिप्पणियां
Hacker News टिप्पणियाँ
ssh3नाम बिल्कुल पसंद नहीं आया, इसलिए अच्छा लगा कि रिपॉज़िटरी के सबसे ऊपर लिखा है: “SSH3 का नाम बदला जाएगा। अभी यह SSH Connection Protocol(RFC4254) को HTTP/3 Extended connect के ऊपर चलाने का एक रूप है, लेकिन इसमें बहुत सारे ज़रूरी बदलाव हैं और यह मौजूदा SSH से इतना अलग है कि इसे आसानी से एकीकृत नहीं किया जा सकता। स्पेसिफिकेशन ड्राफ्ट का नाम पहले ही ‘Remote Terminals over HTTP/3’ कर दिया गया है, और बेहतर स्थायी नाम पर सोचने के लिए समय चाहिए।”SSH3की जगहSecure Hypertext Interactive TTYजैसा नाम सुझाया गयाSSH/3कैसा रहेगा (SSH + HTTP/3 वाली भावना)SSH2/3भी ठीक हो सकता है, क्योंकि ज्यादातर चीज़ SSH2 है लेकिन यह HTTP/3 के ऊपर चलती हैscpकरते समय काफ़ी speed improvement की उम्मीद हैssh3में head-of-line blocking के हल होने की संभावना ज़्यादा है, इसलिए एक physical connection पर कई ports या connections को multiplex करने पर यह तेज़ हो सकता हैHTTPनाम अपने-आप में ज़्यादा मायने नहीं रखता। कम-से-कम QUIC को TCP replacement के रूप में काफ़ी साफ़ तरीके से position किया जा रहा हैhttpकहना थोड़ा अटपटा लगता हैSet-Location,cdसे ज़्यादा बेहतर है, औरremote-terminals-over-http3,ssh3से बेहतर नाम है